﻿///////////////////////////////////////////////////////////////////////////////////////////////
//
//    This File is Part of the CallButler Open Source PBX (http://www.codeplex.com/callbutler
//
//    Copyright (c) 2005-2008, Jim Heising
//    All rights reserved.
//
//    Redistribution and use in source and binary forms, with or without modification,
//    are permitted provided that the following conditions are met:
//
//    * Redistributions of source code must retain the above copyright notice,
//      this list of conditions and the following disclaimer.
//
//    * Redistributions in binary form must reproduce the above copyright notice,
//      this list of conditions and the following disclaimer in the documentation and/or
//      other materials provided with the distribution.
//
//    * Neither the name of Jim Heising nor the names of its contributors may be
//      used to endorse or promote products derived from this software without specific prior
//      written permission.
//
//    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
//    ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
//    WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
//    IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
//    INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
//    NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
//    PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
//    WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
//    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
//    POSSIBILITY OF SUCH DAMAGE.
//
///////////////////////////////////////////////////////////////////////////////////////////////

//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:2.0.50727.1434
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

// 
// This source code was auto-generated by Microsoft.VSDesigner, Version 2.0.50727.1434.
// 
#pragma warning disable 1591

namespace WOSI.CallButler.ManagementInterface.ManagementServices {
    using System.Diagnostics;
    using System.Web.Services;
    using System.ComponentModel;
    using System.Web.Services.Protocols;
    using System;
    using System.Xml.Serialization;
    
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Web.Services.WebServiceBindingAttribute(Name="ManagementInterfaceServiceSoap", Namespace="http://services.callbutler.com/")]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(AudioCodecInformation[]))]
    public partial class ManagementInterfaceService : System.Web.Services.Protocols.SoapHttpClientProtocol {
        
        private System.Threading.SendOrPostCallback SendEmailOperationCompleted;
        
        private System.Threading.SendOrPostCallback SendTestEmailOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetTTSVoicesOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetMultilingualOperationCompleted;
        
        private System.Threading.SendOrPostCallback SetMultilingualOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetDefaultLanguageOperationCompleted;
        
        private System.Threading.SendOrPostCallback SetDefaultLanguageOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetLanguagesOperationCompleted;
        
        private System.Threading.SendOrPostCallback SetLanguagesOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetApplicationPermissionsOperationCompleted;
        
        private System.Threading.SendOrPostCallback SetManagementPasswordOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetManagementPasswordOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetFirstTimeRunOperationCompleted;
        
        private System.Threading.SendOrPostCallback SetFirstTimeRunOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetAudioCodecsOperationCompleted;
        
        private System.Threading.SendOrPostCallback SetAudioCodecsOperationCompleted;
        
        private System.Threading.SendOrPostCallback ClearCallHistoryOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetCallHistoryOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetRecentCallsOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetExtensionOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetExtensionNumberOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetExtensionsOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetExtensionVoicemailGreetingOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetExtensionContactNumbersOperationCompleted;
        
        private System.Threading.SendOrPostCallback PersistExtensionContactNumbersOperationCompleted;
        
        private System.Threading.SendOrPostCallback PersistExtensionOperationCompleted;
        
        private System.Threading.SendOrPostCallback DeleteExtensionOperationCompleted;
        
        private System.Threading.SendOrPostCallback DeleteExtensionContactNumberOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetVoicemailsOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetVoicemails1OperationCompleted;
        
        private System.Threading.SendOrPostCallback PersistVoicemailOperationCompleted;
        
        private System.Threading.SendOrPostCallback PersistVoicemailSoundOperationCompleted;
        
        private System.Threading.SendOrPostCallback DeleteVoicemailOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetVoicemailSoundOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetDepartmentsOperationCompleted;
        
        private System.Threading.SendOrPostCallback PersistDepartmentOperationCompleted;
        
        private System.Threading.SendOrPostCallback DeleteDepartmentOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetEmployeeExtensionOperationCompleted;
        
        private System.Threading.SendOrPostCallback DoesEmployeeHaveNewVoicemailsOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetNewEmployeeVoicemailsOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetLocalizedGreetingOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetLocalizedGreeting1OperationCompleted;
        
        private System.Threading.SendOrPostCallback GetLocalizedGreetingInDefaultLanguageOperationCompleted;
        
        private System.Threading.SendOrPostCallback PersistLocalizedGreetingOperationCompleted;
        
        private System.Threading.SendOrPostCallback DeleteGreetingOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetLocalizedGreetingSoundOperationCompleted;
        
        private System.Threading.SendOrPostCallback PersistLocalizedGreetingSoundOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetPersonalizedGreetingsOperationCompleted;
        
        private System.Threading.SendOrPostCallback PersistPersonalizedGreetingOperationCompleted;
        
        private System.Threading.SendOrPostCallback DeletePersonalizedGreetingOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetProvidersOperationCompleted;
        
        private System.Threading.SendOrPostCallback PersistProvidersOperationCompleted;
        
        private System.Threading.SendOrPostCallback DeleteProviderOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetScriptSchedulesOperationCompleted;
        
        private System.Threading.SendOrPostCallback PersistScriptScheduleOperationCompleted;
        
        private System.Threading.SendOrPostCallback DeleteScriptScheduleOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetCustomerLoginOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetRecordVolumeOperationCompleted;
        
        private System.Threading.SendOrPostCallback SetRecordVolumeOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetSoundVolumeOperationCompleted;
        
        private System.Threading.SendOrPostCallback SetSoundVolumeOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetSpeechVolumeOperationCompleted;
        
        private System.Threading.SendOrPostCallback SetSpeechVolumeOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetDefaultVoiceOperationCompleted;
        
        private System.Threading.SendOrPostCallback SetDefaultVoiceOperationCompleted;
        
        private System.Threading.SendOrPostCallback GetHostedTestAddressOperationCompleted;
        
        private bool useDefaultCredentialsSetExplicitly;
        
        /// <remarks/>
        public ManagementInterfaceService() {
            this.Url = "http://localhost:53668/Hosted/ManagementService.asmx";
            if ((this.IsLocalFileSystemWebService(this.Url) == true)) {
                this.UseDefaultCredentials = true;
                this.useDefaultCredentialsSetExplicitly = false;
            }
            else {
                this.useDefaultCredentialsSetExplicitly = true;
            }
        }
        
        public new string Url {
            get {
                return base.Url;
            }
            set {
                if ((((this.IsLocalFileSystemWebService(base.Url) == true) 
                            && (this.useDefaultCredentialsSetExplicitly == false)) 
                            && (this.IsLocalFileSystemWebService(value) == false))) {
                    base.UseDefaultCredentials = false;
                }
                base.Url = value;
            }
        }
        
        public new bool UseDefaultCredentials {
            get {
                return base.UseDefaultCredentials;
            }
            set {
                base.UseDefaultCredentials = value;
                this.useDefaultCredentialsSetExplicitly = true;
            }
        }
        
        /// <remarks/>
        public event SendEmailCompletedEventHandler SendEmailCompleted;
        
        /// <remarks/>
        public event SendTestEmailCompletedEventHandler SendTestEmailCompleted;
        
        /// <remarks/>
        public event GetTTSVoicesCompletedEventHandler GetTTSVoicesCompleted;
        
        /// <remarks/>
        public event GetMultilingualCompletedEventHandler GetMultilingualCompleted;
        
        /// <remarks/>
        public event SetMultilingualCompletedEventHandler SetMultilingualCompleted;
        
        /// <remarks/>
        public event GetDefaultLanguageCompletedEventHandler GetDefaultLanguageCompleted;
        
        /// <remarks/>
        public event SetDefaultLanguageCompletedEventHandler SetDefaultLanguageCompleted;
        
        /// <remarks/>
        public event GetLanguagesCompletedEventHandler GetLanguagesCompleted;
        
        /// <remarks/>
        public event SetLanguagesCompletedEventHandler SetLanguagesCompleted;
        
        /// <remarks/>
        public event GetApplicationPermissionsCompletedEventHandler GetApplicationPermissionsCompleted;
        
        /// <remarks/>
        public event SetManagementPasswordCompletedEventHandler SetManagementPasswordCompleted;
        
        /// <remarks/>
        public event GetManagementPasswordCompletedEventHandler GetManagementPasswordCompleted;
        
        /// <remarks/>
        public event GetFirstTimeRunCompletedEventHandler GetFirstTimeRunCompleted;
        
        /// <remarks/>
        public event SetFirstTimeRunCompletedEventHandler SetFirstTimeRunCompleted;
        
        /// <remarks/>
        public event GetAudioCodecsCompletedEventHandler GetAudioCodecsCompleted;
        
        /// <remarks/>
        public event SetAudioCodecsCompletedEventHandler SetAudioCodecsCompleted;
        
        /// <remarks/>
        public event ClearCallHistoryCompletedEventHandler ClearCallHistoryCompleted;
        
        /// <remarks/>
        public event GetCallHistoryCompletedEventHandler GetCallHistoryCompleted;
        
        /// <remarks/>
        public event GetRecentCallsCompletedEventHandler GetRecentCallsCompleted;
        
        /// <remarks/>
        public event GetExtensionCompletedEventHandler GetExtensionCompleted;
        
        /// <remarks/>
        public event GetExtensionNumberCompletedEventHandler GetExtensionNumberCompleted;
        
        /// <remarks/>
        public event GetExtensionsCompletedEventHandler GetExtensionsCompleted;
        
        /// <remarks/>
        public event GetExtensionVoicemailGreetingCompletedEventHandler GetExtensionVoicemailGreetingCompleted;
        
        /// <remarks/>
        public event GetExtensionContactNumbersCompletedEventHandler GetExtensionContactNumbersCompleted;
        
        /// <remarks/>
        public event PersistExtensionContactNumbersCompletedEventHandler PersistExtensionContactNumbersCompleted;
        
        /// <remarks/>
        public event PersistExtensionCompletedEventHandler PersistExtensionCompleted;
        
        /// <remarks/>
        public event DeleteExtensionCompletedEventHandler DeleteExtensionCompleted;
        
        /// <remarks/>
        public event DeleteExtensionContactNumberCompletedEventHandler DeleteExtensionContactNumberCompleted;
        
        /// <remarks/>
        public event GetVoicemailsCompletedEventHandler GetVoicemailsCompleted;
        
        /// <remarks/>
        public event GetVoicemails1CompletedEventHandler GetVoicemails1Completed;
        
        /// <remarks/>
        public event PersistVoicemailCompletedEventHandler PersistVoicemailCompleted;
        
        /// <remarks/>
        public event PersistVoicemailSoundCompletedEventHandler PersistVoicemailSoundCompleted;
        
        /// <remarks/>
        public event DeleteVoicemailCompletedEventHandler DeleteVoicemailCompleted;
        
        /// <remarks/>
        public event GetVoicemailSoundCompletedEventHandler GetVoicemailSoundCompleted;
        
        /// <remarks/>
        public event GetDepartmentsCompletedEventHandler GetDepartmentsCompleted;
        
        /// <remarks/>
        public event PersistDepartmentCompletedEventHandler PersistDepartmentCompleted;
        
        /// <remarks/>
        public event DeleteDepartmentCompletedEventHandler DeleteDepartmentCompleted;
        
        /// <remarks/>
        public event GetEmployeeExtensionCompletedEventHandler GetEmployeeExtensionCompleted;
        
        /// <remarks/>
        public event DoesEmployeeHaveNewVoicemailsCompletedEventHandler DoesEmployeeHaveNewVoicemailsCompleted;
        
        /// <remarks/>
        public event GetNewEmployeeVoicemailsCompletedEventHandler GetNewEmployeeVoicemailsCompleted;
        
        /// <remarks/>
        public event GetLocalizedGreetingCompletedEventHandler GetLocalizedGreetingCompleted;
        
        /// <remarks/>
        public event GetLocalizedGreeting1CompletedEventHandler GetLocalizedGreeting1Completed;
        
        /// <remarks/>
        public event GetLocalizedGreetingInDefaultLanguageCompletedEventHandler GetLocalizedGreetingInDefaultLanguageCompleted;
        
        /// <remarks/>
        public event PersistLocalizedGreetingCompletedEventHandler PersistLocalizedGreetingCompleted;
        
        /// <remarks/>
        public event DeleteGreetingCompletedEventHandler DeleteGreetingCompleted;
        
        /// <remarks/>
        public event GetLocalizedGreetingSoundCompletedEventHandler GetLocalizedGreetingSoundCompleted;
        
        /// <remarks/>
        public event PersistLocalizedGreetingSoundCompletedEventHandler PersistLocalizedGreetingSoundCompleted;
        
        /// <remarks/>
        public event GetPersonalizedGreetingsCompletedEventHandler GetPersonalizedGreetingsCompleted;
        
        /// <remarks/>
        public event PersistPersonalizedGreetingCompletedEventHandler PersistPersonalizedGreetingCompleted;
        
        /// <remarks/>
        public event DeletePersonalizedGreetingCompletedEventHandler DeletePersonalizedGreetingCompleted;
        
        /// <remarks/>
        public event GetProvidersCompletedEventHandler GetProvidersCompleted;
        
        /// <remarks/>
        public event PersistProvidersCompletedEventHandler PersistProvidersCompleted;
        
        /// <remarks/>
        public event DeleteProviderCompletedEventHandler DeleteProviderCompleted;
        
        /// <remarks/>
        public event GetScriptSchedulesCompletedEventHandler GetScriptSchedulesCompleted;
        
        /// <remarks/>
        public event PersistScriptScheduleCompletedEventHandler PersistScriptScheduleCompleted;
        
        /// <remarks/>
        public event DeleteScriptScheduleCompletedEventHandler DeleteScriptScheduleCompleted;
        
        /// <remarks/>
        public event GetCustomerLoginCompletedEventHandler GetCustomerLoginCompleted;
        
        /// <remarks/>
        public event GetRecordVolumeCompletedEventHandler GetRecordVolumeCompleted;
        
        /// <remarks/>
        public event SetRecordVolumeCompletedEventHandler SetRecordVolumeCompleted;
        
        /// <remarks/>
        public event GetSoundVolumeCompletedEventHandler GetSoundVolumeCompleted;
        
        /// <remarks/>
        public event SetSoundVolumeCompletedEventHandler SetSoundVolumeCompleted;
        
        /// <remarks/>
        public event GetSpeechVolumeCompletedEventHandler GetSpeechVolumeCompleted;
        
        /// <remarks/>
        public event SetSpeechVolumeCompletedEventHandler SetSpeechVolumeCompleted;
        
        /// <remarks/>
        public event GetDefaultVoiceCompletedEventHandler GetDefaultVoiceCompleted;
        
        /// <remarks/>
        public event SetDefaultVoiceCompletedEventHandler SetDefaultVoiceCompleted;
        
        /// <remarks/>
        public event GetHostedTestAddressCompletedEventHandler GetHostedTestAddressCompleted;
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/SendEmail", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void SendEmail(CallButlerAuthInfo authInfo, string sendTo, string subject, string message) {
            this.Invoke("SendEmail", new object[] {
                        authInfo,
                        sendTo,
                        subject,
                        message});
        }
        
        /// <remarks/>
        public void SendEmailAsync(CallButlerAuthInfo authInfo, string sendTo, string subject, string message) {
            this.SendEmailAsync(authInfo, sendTo, subject, message, null);
        }
        
        /// <remarks/>
        public void SendEmailAsync(CallButlerAuthInfo authInfo, string sendTo, string subject, string message, object userState) {
            if ((this.SendEmailOperationCompleted == null)) {
                this.SendEmailOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSendEmailOperationCompleted);
            }
            this.InvokeAsync("SendEmail", new object[] {
                        authInfo,
                        sendTo,
                        subject,
                        message}, this.SendEmailOperationCompleted, userState);
        }
        
        private void OnSendEmailOperationCompleted(object arg) {
            if ((this.SendEmailCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SendEmailCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/SendTestEmail", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void SendTestEmail(CallButlerAuthInfo authInfo, string sendTo, string subject, string message, string smtpServer, int smtpPort, bool useSSL, string smtpUsername, string smtpPassword) {
            this.Invoke("SendTestEmail", new object[] {
                        authInfo,
                        sendTo,
                        subject,
                        message,
                        smtpServer,
                        smtpPort,
                        useSSL,
                        smtpUsername,
                        smtpPassword});
        }
        
        /// <remarks/>
        public void SendTestEmailAsync(CallButlerAuthInfo authInfo, string sendTo, string subject, string message, string smtpServer, int smtpPort, bool useSSL, string smtpUsername, string smtpPassword) {
            this.SendTestEmailAsync(authInfo, sendTo, subject, message, smtpServer, smtpPort, useSSL, smtpUsername, smtpPassword, null);
        }
        
        /// <remarks/>
        public void SendTestEmailAsync(CallButlerAuthInfo authInfo, string sendTo, string subject, string message, string smtpServer, int smtpPort, bool useSSL, string smtpUsername, string smtpPassword, object userState) {
            if ((this.SendTestEmailOperationCompleted == null)) {
                this.SendTestEmailOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSendTestEmailOperationCompleted);
            }
            this.InvokeAsync("SendTestEmail", new object[] {
                        authInfo,
                        sendTo,
                        subject,
                        message,
                        smtpServer,
                        smtpPort,
                        useSSL,
                        smtpUsername,
                        smtpPassword}, this.SendTestEmailOperationCompleted, userState);
        }
        
        private void OnSendTestEmailOperationCompleted(object arg) {
            if ((this.SendTestEmailCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SendTestEmailCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/GetTTSVoices", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public string[] GetTTSVoices() {
            object[] results = this.Invoke("GetTTSVoices", new object[0]);
            return ((string[])(results[0]));
        }
        
        /// <remarks/>
        public void GetTTSVoicesAsync() {
            this.GetTTSVoicesAsync(null);
        }
        
        /// <remarks/>
        public void GetTTSVoicesAsync(object userState) {
            if ((this.GetTTSVoicesOperationCompleted == null)) {
                this.GetTTSVoicesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetTTSVoicesOperationCompleted);
            }
            this.InvokeAsync("GetTTSVoices", new object[0], this.GetTTSVoicesOperationCompleted, userState);
        }
        
        private void OnGetTTSVoicesOperationCompleted(object arg) {
            if ((this.GetTTSVoicesCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetTTSVoicesCompleted(this, new GetTTSVoicesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/GetMultilingual", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public bool GetMultilingual(CallButlerAuthInfo authInfo) {
            object[] results = this.Invoke("GetMultilingual", new object[] {
                        authInfo});
            return ((bool)(results[0]));
        }
        
        /// <remarks/>
        public void GetMultilingualAsync(CallButlerAuthInfo authInfo) {
            this.GetMultilingualAsync(authInfo, null);
        }
        
        /// <remarks/>
        public void GetMultilingualAsync(CallButlerAuthInfo authInfo, object userState) {
            if ((this.GetMultilingualOperationCompleted == null)) {
                this.GetMultilingualOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetMultilingualOperationCompleted);
            }
            this.InvokeAsync("GetMultilingual", new object[] {
                        authInfo}, this.GetMultilingualOperationCompleted, userState);
        }
        
        private void OnGetMultilingualOperationCompleted(object arg) {
            if ((this.GetMultilingualCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetMultilingualCompleted(this, new GetMultilingualCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/SetMultilingual", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void SetMultilingual(CallButlerAuthInfo authInfo, bool isMultilingual) {
            this.Invoke("SetMultilingual", new object[] {
                        authInfo,
                        isMultilingual});
        }
        
        /// <remarks/>
        public void SetMultilingualAsync(CallButlerAuthInfo authInfo, bool isMultilingual) {
            this.SetMultilingualAsync(authInfo, isMultilingual, null);
        }
        
        /// <remarks/>
        public void SetMultilingualAsync(CallButlerAuthInfo authInfo, bool isMultilingual, object userState) {
            if ((this.SetMultilingualOperationCompleted == null)) {
                this.SetMultilingualOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetMultilingualOperationCompleted);
            }
            this.InvokeAsync("SetMultilingual", new object[] {
                        authInfo,
                        isMultilingual}, this.SetMultilingualOperationCompleted, userState);
        }
        
        private void OnSetMultilingualOperationCompleted(object arg) {
            if ((this.SetMultilingualCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SetMultilingualCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/GetDefaultLanguage", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public string GetDefaultLanguage(CallButlerAuthInfo authInfo) {
            object[] results = this.Invoke("GetDefaultLanguage", new object[] {
                        authInfo});
            return ((string)(results[0]));
        }
        
        /// <remarks/>
        public void GetDefaultLanguageAsync(CallButlerAuthInfo authInfo) {
            this.GetDefaultLanguageAsync(authInfo, null);
        }
        
        /// <remarks/>
        public void GetDefaultLanguageAsync(CallButlerAuthInfo authInfo, object userState) {
            if ((this.GetDefaultLanguageOperationCompleted == null)) {
                this.GetDefaultLanguageOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetDefaultLanguageOperationCompleted);
            }
            this.InvokeAsync("GetDefaultLanguage", new object[] {
                        authInfo}, this.GetDefaultLanguageOperationCompleted, userState);
        }
        
        private void OnGetDefaultLanguageOperationCompleted(object arg) {
            if ((this.GetDefaultLanguageCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetDefaultLanguageCompleted(this, new GetDefaultLanguageCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/SetDefaultLanguage", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void SetDefaultLanguage(CallButlerAuthInfo authInfo, string defaultLanguage) {
            this.Invoke("SetDefaultLanguage", new object[] {
                        authInfo,
                        defaultLanguage});
        }
        
        /// <remarks/>
        public void SetDefaultLanguageAsync(CallButlerAuthInfo authInfo, string defaultLanguage) {
            this.SetDefaultLanguageAsync(authInfo, defaultLanguage, null);
        }
        
        /// <remarks/>
        public void SetDefaultLanguageAsync(CallButlerAuthInfo authInfo, string defaultLanguage, object userState) {
            if ((this.SetDefaultLanguageOperationCompleted == null)) {
                this.SetDefaultLanguageOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetDefaultLanguageOperationCompleted);
            }
            this.InvokeAsync("SetDefaultLanguage", new object[] {
                        authInfo,
                        defaultLanguage}, this.SetDefaultLanguageOperationCompleted, userState);
        }
        
        private void OnSetDefaultLanguageOperationCompleted(object arg) {
            if ((this.SetDefaultLanguageCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SetDefaultLanguageCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/GetLanguages", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public string GetLanguages(CallButlerAuthInfo authInfo) {
            object[] results = this.Invoke("GetLanguages", new object[] {
                        authInfo});
            return ((string)(results[0]));
        }
        
        /// <remarks/>
        public void GetLanguagesAsync(CallButlerAuthInfo authInfo) {
            this.GetLanguagesAsync(authInfo, null);
        }
        
        /// <remarks/>
        public void GetLanguagesAsync(CallButlerAuthInfo authInfo, object userState) {
            if ((this.GetLanguagesOperationCompleted == null)) {
                this.GetLanguagesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetLanguagesOperationCompleted);
            }
            this.InvokeAsync("GetLanguages", new object[] {
                        authInfo}, this.GetLanguagesOperationCompleted, userState);
        }
        
        private void OnGetLanguagesOperationCompleted(object arg) {
            if ((this.GetLanguagesCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetLanguagesCompleted(this, new GetLanguagesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/SetLanguages", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void SetLanguages(CallButlerAuthInfo authInfo, string languages) {
            this.Invoke("SetLanguages", new object[] {
                        authInfo,
                        languages});
        }
        
        /// <remarks/>
        public void SetLanguagesAsync(CallButlerAuthInfo authInfo, string languages) {
            this.SetLanguagesAsync(authInfo, languages, null);
        }
        
        /// <remarks/>
        public void SetLanguagesAsync(CallButlerAuthInfo authInfo, string languages, object userState) {
            if ((this.SetLanguagesOperationCompleted == null)) {
                this.SetLanguagesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetLanguagesOperationCompleted);
            }
            this.InvokeAsync("SetLanguages", new object[] {
                        authInfo,
                        languages}, this.SetLanguagesOperationCompleted, userState);
        }
        
        private void OnSetLanguagesOperationCompleted(object arg) {
            if ((this.SetLanguagesCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SetLanguagesCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/GetApplicationPermissions", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public string GetApplicationPermissions(CallButlerAuthInfo authInfo) {
            object[] results = this.Invoke("GetApplicationPermissions", new object[] {
                        authInfo});
            return ((string)(results[0]));
        }
        
        /// <remarks/>
        public void GetApplicationPermissionsAsync(CallButlerAuthInfo authInfo) {
            this.GetApplicationPermissionsAsync(authInfo, null);
        }
        
        /// <remarks/>
        public void GetApplicationPermissionsAsync(CallButlerAuthInfo authInfo, object userState) {
            if ((this.GetApplicationPermissionsOperationCompleted == null)) {
                this.GetApplicationPermissionsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetApplicationPermissionsOperationCompleted);
            }
            this.InvokeAsync("GetApplicationPermissions", new object[] {
                        authInfo}, this.GetApplicationPermissionsOperationCompleted, userState);
        }
        
        private void OnGetApplicationPermissionsOperationCompleted(object arg) {
            if ((this.GetApplicationPermissionsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetApplicationPermissionsCompleted(this, new GetApplicationPermissionsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/SetManagementPassword", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void SetManagementPassword(CallButlerAuthInfo authInfo, string password) {
            this.Invoke("SetManagementPassword", new object[] {
                        authInfo,
                        password});
        }
        
        /// <remarks/>
        public void SetManagementPasswordAsync(CallButlerAuthInfo authInfo, string password) {
            this.SetManagementPasswordAsync(authInfo, password, null);
        }
        
        /// <remarks/>
        public void SetManagementPasswordAsync(CallButlerAuthInfo authInfo, string password, object userState) {
            if ((this.SetManagementPasswordOperationCompleted == null)) {
                this.SetManagementPasswordOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetManagementPasswordOperationCompleted);
            }
            this.InvokeAsync("SetManagementPassword", new object[] {
                        authInfo,
                        password}, this.SetManagementPasswordOperationCompleted, userState);
        }
        
        private void OnSetManagementPasswordOperationCompleted(object arg) {
            if ((this.SetManagementPasswordCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SetManagementPasswordCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/GetManagementPassword", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public string GetManagementPassword(CallButlerAuthInfo authInfo) {
            object[] results = this.Invoke("GetManagementPassword", new object[] {
                        authInfo});
            return ((string)(results[0]));
        }
        
        /// <remarks/>
        public void GetManagementPasswordAsync(CallButlerAuthInfo authInfo) {
            this.GetManagementPasswordAsync(authInfo, null);
        }
        
        /// <remarks/>
        public void GetManagementPasswordAsync(CallButlerAuthInfo authInfo, object userState) {
            if ((this.GetManagementPasswordOperationCompleted == null)) {
                this.GetManagementPasswordOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetManagementPasswordOperationCompleted);
            }
            this.InvokeAsync("GetManagementPassword", new object[] {
                        authInfo}, this.GetManagementPasswordOperationCompleted, userState);
        }
        
        private void OnGetManagementPasswordOperationCompleted(object arg) {
            if ((this.GetManagementPasswordCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetManagementPasswordCompleted(this, new GetManagementPasswordCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/GetFirstTimeRun", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public bool GetFirstTimeRun(CallButlerAuthInfo authInfo) {
            object[] results = this.Invoke("GetFirstTimeRun", new object[] {
                        authInfo});
            return ((bool)(results[0]));
        }
        
        /// <remarks/>
        public void GetFirstTimeRunAsync(CallButlerAuthInfo authInfo) {
            this.GetFirstTimeRunAsync(authInfo, null);
        }
        
        /// <remarks/>
        public void GetFirstTimeRunAsync(CallButlerAuthInfo authInfo, object userState) {
            if ((this.GetFirstTimeRunOperationCompleted == null)) {
                this.GetFirstTimeRunOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetFirstTimeRunOperationCompleted);
            }
            this.InvokeAsync("GetFirstTimeRun", new object[] {
                        authInfo}, this.GetFirstTimeRunOperationCompleted, userState);
        }
        
        private void OnGetFirstTimeRunOperationCompleted(object arg) {
            if ((this.GetFirstTimeRunCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetFirstTimeRunCompleted(this, new GetFirstTimeRunCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/SetFirstTimeRun", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void SetFirstTimeRun(CallButlerAuthInfo authInfo, bool val) {
            this.Invoke("SetFirstTimeRun", new object[] {
                        authInfo,
                        val});
        }
        
        /// <remarks/>
        public void SetFirstTimeRunAsync(CallButlerAuthInfo authInfo, bool val) {
            this.SetFirstTimeRunAsync(authInfo, val, null);
        }
        
        /// <remarks/>
        public void SetFirstTimeRunAsync(CallButlerAuthInfo authInfo, bool val, object userState) {
            if ((this.SetFirstTimeRunOperationCompleted == null)) {
                this.SetFirstTimeRunOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetFirstTimeRunOperationCompleted);
            }
            this.InvokeAsync("SetFirstTimeRun", new object[] {
                        authInfo,
                        val}, this.SetFirstTimeRunOperationCompleted, userState);
        }
        
        private void OnSetFirstTimeRunOperationCompleted(object arg) {
            if ((this.SetFirstTimeRunCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SetFirstTimeRunCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/GetAudioCodecs", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public AudioCodecInformation[] GetAudioCodecs() {
            object[] results = this.Invoke("GetAudioCodecs", new object[0]);
            return ((AudioCodecInformation[])(results[0]));
        }
        
        /// <remarks/>
        public void GetAudioCodecsAsync() {
            this.GetAudioCodecsAsync(null);
        }
        
        /// <remarks/>
        public void GetAudioCodecsAsync(object userState) {
            if ((this.GetAudioCodecsOperationCompleted == null)) {
                this.GetAudioCodecsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetAudioCodecsOperationCompleted);
            }
            this.InvokeAsync("GetAudioCodecs", new object[0], this.GetAudioCodecsOperationCompleted, userState);
        }
        
        private void OnGetAudioCodecsOperationCompleted(object arg) {
            if ((this.GetAudioCodecsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetAudioCodecsCompleted(this, new GetAudioCodecsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/SetAudioCodecs", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void SetAudioCodecs(AudioCodecInformation[] codecs) {
            this.Invoke("SetAudioCodecs", new object[] {
                        codecs});
        }
        
        /// <remarks/>
        public void SetAudioCodecsAsync(AudioCodecInformation[] codecs) {
            this.SetAudioCodecsAsync(codecs, null);
        }
        
        /// <remarks/>
        public void SetAudioCodecsAsync(AudioCodecInformation[] codecs, object userState) {
            if ((this.SetAudioCodecsOperationCompleted == null)) {
                this.SetAudioCodecsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetAudioCodecsOperationCompleted);
            }
            this.InvokeAsync("SetAudioCodecs", new object[] {
                        codecs}, this.SetAudioCodecsOperationCompleted, userState);
        }
        
        private void OnSetAudioCodecsOperationCompleted(object arg) {
            if ((this.SetAudioCodecsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SetAudioCodecsCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/ClearCallHistory", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void ClearCallHistory(CallButlerAuthInfo authInfo) {
            this.Invoke("ClearCallHistory", new object[] {
                        authInfo});
        }
        
        /// <remarks/>
        public void ClearCallHistoryAsync(CallButlerAuthInfo authInfo) {
            this.ClearCallHistoryAsync(authInfo, null);
        }
        
        /// <remarks/>
        public void ClearCallHistoryAsync(CallButlerAuthInfo authInfo, object userState) {
            if ((this.ClearCallHistoryOperationCompleted == null)) {
                this.ClearCallHistoryOperationCompleted = new System.Threading.SendOrPostCallback(this.OnClearCallHistoryOperationCompleted);
            }
            this.InvokeAsync("ClearCallHistory", new object[] {
                        authInfo}, this.ClearCallHistoryOperationCompleted, userState);
        }
        
        private void OnClearCallHistoryOperationCompleted(object arg) {
            if ((this.ClearCallHistoryCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.ClearCallHistoryCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/GetCallHistory", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public CallButlerDataset.CallHistoryDataTable GetCallHistory(CallButlerAuthInfo authInfo) {
            object[] results = this.Invoke("GetCallHistory", new object[] {
                        authInfo});
            return ((CallButlerDataset.CallHistoryDataTable)(results[0]));
        }
        
        /// <remarks/>
        public void GetCallHistoryAsync(CallButlerAuthInfo authInfo) {
            this.GetCallHistoryAsync(authInfo, null);
        }
        
        /// <remarks/>
        public void GetCallHistoryAsync(CallButlerAuthInfo authInfo, object userState) {
            if ((this.GetCallHistoryOperationCompleted == null)) {
                this.GetCallHistoryOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetCallHistoryOperationCompleted);
            }
            this.InvokeAsync("GetCallHistory", new object[] {
                        authInfo}, this.GetCallHistoryOperationCompleted, userState);
        }
        
        private void OnGetCallHistoryOperationCompleted(object arg) {
            if ((this.GetCallHistoryCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetCallHistoryCompleted(this, new GetCallHistoryCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/GetRecentCalls", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public CallButlerDataset.CallHistoryDataTable GetRecentCalls(CallButlerAuthInfo authInfo, int count) {
            object[] results = this.Invoke("GetRecentCalls", new object[] {
                        authInfo,
                        count});
            return ((CallButlerDataset.CallHistoryDataTable)(results[0]));
        }
        
        /// <remarks/>
        public void GetRecentCallsAsync(CallButlerAuthInfo authInfo, int count) {
            this.GetRecentCallsAsync(authInfo, count, null);
        }
        
        /// <remarks/>
        public void GetRecentCallsAsync(CallButlerAuthInfo authInfo, int count, object userState) {
            if ((this.GetRecentCallsOperationCompleted == null)) {
                this.GetRecentCallsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetRecentCallsOperationCompleted);
            }
            this.InvokeAsync("GetRecentCalls", new object[] {
                        authInfo,
                        count}, this.GetRecentCallsOperationCompleted, userState);
        }
        
        private void OnGetRecentCallsOperationCompleted(object arg) {
            if ((this.GetRecentCallsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetRecentCallsCompleted(this, new GetRecentCallsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/GetExtension", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public CallButlerDataset.ExtensionsDataTable GetExtension(CallButlerAuthInfo authInfo, System.Guid extensionID) {
            object[] results = this.Invoke("GetExtension", new object[] {
                        authInfo,
                        extensionID});
            return ((CallButlerDataset.ExtensionsDataTable)(results[0]));
        }
        
        /// <remarks/>
        public void GetExtensionAsync(CallButlerAuthInfo authInfo, System.Guid extensionID) {
            this.GetExtensionAsync(authInfo, extensionID, null);
        }
        
        /// <remarks/>
        public void GetExtensionAsync(CallButlerAuthInfo authInfo, System.Guid extensionID, object userState) {
            if ((this.GetExtensionOperationCompleted == null)) {
                this.GetExtensionOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetExtensionOperationCompleted);
            }
            this.InvokeAsync("GetExtension", new object[] {
                        authInfo,
                        extensionID}, this.GetExtensionOperationCompleted, userState);
        }
        
        private void OnGetExtensionOperationCompleted(object arg) {
            if ((this.GetExtensionCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetExtensionCompleted(this, new GetExtensionCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/GetExtensionNumber", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public CallButlerDataset.ExtensionsDataTable GetExtensionNumber(CallButlerAuthInfo authInfo, int extensionNumber) {
            object[] results = this.Invoke("GetExtensionNumber", new object[] {
                        authInfo,
                        extensionNumber});
            return ((CallButlerDataset.ExtensionsDataTable)(results[0]));
        }
        
        /// <remarks/>
        public void GetExtensionNumberAsync(CallButlerAuthInfo authInfo, int extensionNumber) {
            this.GetExtensionNumberAsync(authInfo, extensionNumber, null);
        }
        
        /// <remarks/>
        public void GetExtensionNumberAsync(CallButlerAuthInfo authInfo, int extensionNumber, object userState) {
            if ((this.GetExtensionNumberOperationCompleted == null)) {
                this.GetExtensionNumberOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetExtensionNumberOperationCompleted);
            }
            this.InvokeAsync("GetExtensionNumber", new object[] {
                        authInfo,
                        extensionNumber}, this.GetExtensionNumberOperationCompleted, userState);
        }
        
        private void OnGetExtensionNumberOperationCompleted(object arg) {
            if ((this.GetExtensionNumberCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetExtensionNumberCompleted(this, new GetExtensionNumberCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/GetExtensions", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public CallButlerDataset.ExtensionsDataTable GetExtensions(CallButlerAuthInfo authInfo) {
            object[] results = this.Invoke("GetExtensions", new object[] {
                        authInfo});
            return ((CallButlerDataset.ExtensionsDataTable)(results[0]));
        }
        
        /// <remarks/>
        public void GetExtensionsAsync(CallButlerAuthInfo authInfo) {
            this.GetExtensionsAsync(authInfo, null);
        }
        
        /// <remarks/>
        public void GetExtensionsAsync(CallButlerAuthInfo authInfo, object userState) {
            if ((this.GetExtensionsOperationCompleted == null)) {
                this.GetExtensionsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetExtensionsOperationCompleted);
            }
            this.InvokeAsync("GetExtensions", new object[] {
                        authInfo}, this.GetExtensionsOperationCompleted, userState);
        }
        
        private void OnGetExtensionsOperationCompleted(object arg) {
            if ((this.GetExtensionsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetExtensionsCompleted(this, new GetExtensionsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/GetExtensionVoicemailGreeting", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public CallButlerDataset.LocalizedGreetingsDataTable GetExtensionVoicemailGreeting(CallButlerAuthInfo authInfo, System.Guid extensionID) {
            object[] results = this.Invoke("GetExtensionVoicemailGreeting", new object[] {
                        authInfo,
                        extensionID});
            return ((CallButlerDataset.LocalizedGreetingsDataTable)(results[0]));
        }
        
        /// <remarks/>
        public void GetExtensionVoicemailGreetingAsync(CallButlerAuthInfo authInfo, System.Guid extensionID) {
            this.GetExtensionVoicemailGreetingAsync(authInfo, extensionID, null);
        }
        
        /// <remarks/>
        public void GetExtensionVoicemailGreetingAsync(CallButlerAuthInfo authInfo, System.Guid extensionID, object userState) {
            if ((this.GetExtensionVoicemailGreetingOperationCompleted == null)) {
                this.GetExtensionVoicemailGreetingOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetExtensionVoicemailGreetingOperationCompleted);
            }
            this.InvokeAsync("GetExtensionVoicemailGreeting", new object[] {
                        authInfo,
                        extensionID}, this.GetExtensionVoicemailGreetingOperationCompleted, userState);
        }
        
        private void OnGetExtensionVoicemailGreetingOperationCompleted(object arg) {
            if ((this.GetExtensionVoicemailGreetingCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetExtensionVoicemailGreetingCompleted(this, new GetExtensionVoicemailGreetingCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/GetExtensionContactNumbers", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public CallButlerDataset.ExtensionContactNumbersDataTable GetExtensionContactNumbers(CallButlerAuthInfo authInfo, System.Guid extensionID) {
            object[] results = this.Invoke("GetExtensionContactNumbers", new object[] {
                        authInfo,
                        extensionID});
            return ((CallButlerDataset.ExtensionContactNumbersDataTable)(results[0]));
        }
        
        /// <remarks/>
        public void GetExtensionContactNumbersAsync(CallButlerAuthInfo authInfo, System.Guid extensionID) {
            this.GetExtensionContactNumbersAsync(authInfo, extensionID, null);
        }
        
        /// <remarks/>
        public void GetExtensionContactNumbersAsync(CallButlerAuthInfo authInfo, System.Guid extensionID, object userState) {
            if ((this.GetExtensionContactNumbersOperationCompleted == null)) {
                this.GetExtensionContactNumbersOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetExtensionContactNumbersOperationCompleted);
            }
            this.InvokeAsync("GetExtensionContactNumbers", new object[] {
                        authInfo,
                        extensionID}, this.GetExtensionContactNumbersOperationCompleted, userState);
        }
        
        private void OnGetExtensionContactNumbersOperationCompleted(object arg) {
            if ((this.GetExtensionContactNumbersCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetExtensionContactNumbersCompleted(this, new GetExtensionContactNumbersCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/PersistExtensionContactNumbers", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void PersistExtensionContactNumbers(CallButlerAuthInfo authInfo, CallButlerDataset.ExtensionContactNumbersDataTable changes) {
            this.Invoke("PersistExtensionContactNumbers", new object[] {
                        authInfo,
                        changes});
        }
        
        /// <remarks/>
        public void PersistExtensionContactNumbersAsync(CallButlerAuthInfo authInfo, CallButlerDataset.ExtensionContactNumbersDataTable changes) {
            this.PersistExtensionContactNumbersAsync(authInfo, changes, null);
        }
        
        /// <remarks/>
        public void PersistExtensionContactNumbersAsync(CallButlerAuthInfo authInfo, CallButlerDataset.ExtensionContactNumbersDataTable changes, object userState) {
            if ((this.PersistExtensionContactNumbersOperationCompleted == null)) {
                this.PersistExtensionContactNumbersOperationCompleted = new System.Threading.SendOrPostCallback(this.OnPersistExtensionContactNumbersOperationCompleted);
            }
            this.InvokeAsync("PersistExtensionContactNumbers", new object[] {
                        authInfo,
                        changes}, this.PersistExtensionContactNumbersOperationCompleted, userState);
        }
        
        private void OnPersistExtensionContactNumbersOperationCompleted(object arg) {
            if ((this.PersistExtensionContactNumbersCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.PersistExtensionContactNumbersCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/PersistExtension", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void PersistExtension(CallButlerAuthInfo authInfo, CallButlerDataset.ExtensionsDataTable extension) {
            this.Invoke("PersistExtension", new object[] {
                        authInfo,
                        extension});
        }
        
        /// <remarks/>
        public void PersistExtensionAsync(CallButlerAuthInfo authInfo, CallButlerDataset.ExtensionsDataTable extension) {
            this.PersistExtensionAsync(authInfo, extension, null);
        }
        
        /// <remarks/>
        public void PersistExtensionAsync(CallButlerAuthInfo authInfo, CallButlerDataset.ExtensionsDataTable extension, object userState) {
            if ((this.PersistExtensionOperationCompleted == null)) {
                this.PersistExtensionOperationCompleted = new System.Threading.SendOrPostCallback(this.OnPersistExtensionOperationCompleted);
            }
            this.InvokeAsync("PersistExtension", new object[] {
                        authInfo,
                        extension}, this.PersistExtensionOperationCompleted, userState);
        }
        
        private void OnPersistExtensionOperationCompleted(object arg) {
            if ((this.PersistExtensionCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.PersistExtensionCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/DeleteExtension", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void DeleteExtension(CallButlerAuthInfo authInfo, System.Guid extensionID) {
            this.Invoke("DeleteExtension", new object[] {
                        authInfo,
                        extensionID});
        }
        
        /// <remarks/>
        public void DeleteExtensionAsync(CallButlerAuthInfo authInfo, System.Guid extensionID) {
            this.DeleteExtensionAsync(authInfo, extensionID, null);
        }
        
        /// <remarks/>
        public void DeleteExtensionAsync(CallButlerAuthInfo authInfo, System.Guid extensionID, object userState) {
            if ((this.DeleteExtensionOperationCompleted == null)) {
                this.DeleteExtensionOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteExtensionOperationCompleted);
            }
            this.InvokeAsync("DeleteExtension", new object[] {
                        authInfo,
                        extensionID}, this.DeleteExtensionOperationCompleted, userState);
        }
        
        private void OnDeleteExtensionOperationCompleted(object arg) {
            if ((this.DeleteExtensionCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DeleteExtensionCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/DeleteExtensionContactNumber", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void DeleteExtensionContactNumber(CallButlerAuthInfo authInfo, System.Guid extensionId, System.Guid extensionContactNumberId) {
            this.Invoke("DeleteExtensionContactNumber", new object[] {
                        authInfo,
                        extensionId,
                        extensionContactNumberId});
        }
        
        /// <remarks/>
        public void DeleteExtensionContactNumberAsync(CallButlerAuthInfo authInfo, System.Guid extensionId, System.Guid extensionContactNumberId) {
            this.DeleteExtensionContactNumberAsync(authInfo, extensionId, extensionContactNumberId, null);
        }
        
        /// <remarks/>
        public void DeleteExtensionContactNumberAsync(CallButlerAuthInfo authInfo, System.Guid extensionId, System.Guid extensionContactNumberId, object userState) {
            if ((this.DeleteExtensionContactNumberOperationCompleted == null)) {
                this.DeleteExtensionContactNumberOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteExtensionContactNumberOperationCompleted);
            }
            this.InvokeAsync("DeleteExtensionContactNumber", new object[] {
                        authInfo,
                        extensionId,
                        extensionContactNumberId}, this.DeleteExtensionContactNumberOperationCompleted, userState);
        }
        
        private void OnDeleteExtensionContactNumberOperationCompleted(object arg) {
            if ((this.DeleteExtensionContactNumberCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DeleteExtensionContactNumberCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/[CallButlerDataset.VoicemailsDataTable] GetVoicema" +
            "ils(CallButlerAuthInfo authInfo)", RequestElementName="[CallButlerDataset.VoicemailsDataTable] GetVoicemails(CallButlerAuthInfo authInfo" +
            ")", RequestNamespace="http://services.callbutler.com/", ResponseElementName="[CallButlerDataset.VoicemailsDataTable] GetVoicemails(CallButlerAuthInfo authInfo" +
            ")Response", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        [return: System.Xml.Serialization.XmlElementAttribute("[CallButlerDataset.VoicemailsDataTable] GetVoicemails(CallButlerAuthInfo authInfo" +
            ")Result")]
        public CallButlerDataset.VoicemailsDataTable GetVoicemails(CallButlerAuthInfo authInfo) {
            object[] results = this.Invoke("GetVoicemails", new object[] {
                        authInfo});
            return ((CallButlerDataset.VoicemailsDataTable)(results[0]));
        }
        
        /// <remarks/>
        public void GetVoicemailsAsync(CallButlerAuthInfo authInfo) {
            this.GetVoicemailsAsync(authInfo, null);
        }
        
        /// <remarks/>
        public void GetVoicemailsAsync(CallButlerAuthInfo authInfo, object userState) {
            if ((this.GetVoicemailsOperationCompleted == null)) {
                this.GetVoicemailsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetVoicemailsOperationCompleted);
            }
            this.InvokeAsync("GetVoicemails", new object[] {
                        authInfo}, this.GetVoicemailsOperationCompleted, userState);
        }
        
        private void OnGetVoicemailsOperationCompleted(object arg) {
            if ((this.GetVoicemailsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetVoicemailsCompleted(this, new GetVoicemailsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.WebMethodAttribute(MessageName="GetVoicemails1")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/[CallButlerDataset.VoicemailsDataTable] GetVoicema" +
            "ils(CallButlerAuthInfo authInfo, Guid extensionID)", RequestElementName="[CallButlerDataset.VoicemailsDataTable] GetVoicemails(CallButlerAuthInfo authInfo" +
            ", Guid extensionID)", RequestNamespace="http://services.callbutler.com/", ResponseElementName="[CallButlerDataset.VoicemailsDataTable] GetVoicemails(CallButlerAuthInfo authInfo" +
            ", Guid extensionID)Response", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        [return: System.Xml.Serialization.XmlElementAttribute("[CallButlerDataset.VoicemailsDataTable] GetVoicemails(CallButlerAuthInfo authInfo" +
            ", Guid extensionID)Result")]
        public CallButlerDataset.VoicemailsDataTable GetVoicemails(CallButlerAuthInfo authInfo, System.Guid extensionID) {
            object[] results = this.Invoke("GetVoicemails1", new object[] {
                        authInfo,
                        extensionID});
            return ((CallButlerDataset.VoicemailsDataTable)(results[0]));
        }
        
        /// <remarks/>
        public void GetVoicemails1Async(CallButlerAuthInfo authInfo, System.Guid extensionID) {
            this.GetVoicemails1Async(authInfo, extensionID, null);
        }
        
        /// <remarks/>
        public void GetVoicemails1Async(CallButlerAuthInfo authInfo, System.Guid extensionID, object userState) {
            if ((this.GetVoicemails1OperationCompleted == null)) {
                this.GetVoicemails1OperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetVoicemails1OperationCompleted);
            }
            this.InvokeAsync("GetVoicemails1", new object[] {
                        authInfo,
                        extensionID}, this.GetVoicemails1OperationCompleted, userState);
        }
        
        private void OnGetVoicemails1OperationCompleted(object arg) {
            if ((this.GetVoicemails1Completed != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetVoicemails1Completed(this, new GetVoicemails1CompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/PersistVoicemail", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void PersistVoicemail(CallButlerAuthInfo authInfo, CallButlerDataset.VoicemailsDataTable voicemail) {
            this.Invoke("PersistVoicemail", new object[] {
                        authInfo,
                        voicemail});
        }
        
        /// <remarks/>
        public void PersistVoicemailAsync(CallButlerAuthInfo authInfo, CallButlerDataset.VoicemailsDataTable voicemail) {
            this.PersistVoicemailAsync(authInfo, voicemail, null);
        }
        
        /// <remarks/>
        public void PersistVoicemailAsync(CallButlerAuthInfo authInfo, CallButlerDataset.VoicemailsDataTable voicemail, object userState) {
            if ((this.PersistVoicemailOperationCompleted == null)) {
                this.PersistVoicemailOperationCompleted = new System.Threading.SendOrPostCallback(this.OnPersistVoicemailOperationCompleted);
            }
            this.InvokeAsync("PersistVoicemail", new object[] {
                        authInfo,
                        voicemail}, this.PersistVoicemailOperationCompleted, userState);
        }
        
        private void OnPersistVoicemailOperationCompleted(object arg) {
            if ((this.PersistVoicemailCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.PersistVoicemailCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/PersistVoicemailSound", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void PersistVoicemailSound(CallButlerAuthInfo authInfo, System.Guid extensionID, CallButlerDataset.ExtensionsDataTable extensions, [System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary")] byte[] soundBytes) {
            this.Invoke("PersistVoicemailSound", new object[] {
                        authInfo,
                        extensionID,
                        extensions,
                        soundBytes});
        }
        
        /// <remarks/>
        public void PersistVoicemailSoundAsync(CallButlerAuthInfo authInfo, System.Guid extensionID, CallButlerDataset.ExtensionsDataTable extensions, byte[] soundBytes) {
            this.PersistVoicemailSoundAsync(authInfo, extensionID, extensions, soundBytes, null);
        }
        
        /// <remarks/>
        public void PersistVoicemailSoundAsync(CallButlerAuthInfo authInfo, System.Guid extensionID, CallButlerDataset.ExtensionsDataTable extensions, byte[] soundBytes, object userState) {
            if ((this.PersistVoicemailSoundOperationCompleted == null)) {
                this.PersistVoicemailSoundOperationCompleted = new System.Threading.SendOrPostCallback(this.OnPersistVoicemailSoundOperationCompleted);
            }
            this.InvokeAsync("PersistVoicemailSound", new object[] {
                        authInfo,
                        extensionID,
                        extensions,
                        soundBytes}, this.PersistVoicemailSoundOperationCompleted, userState);
        }
        
        private void OnPersistVoicemailSoundOperationCompleted(object arg) {
            if ((this.PersistVoicemailSoundCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.PersistVoicemailSoundCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/DeleteVoicemail", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void DeleteVoicemail(CallButlerAuthInfo authInfo, System.Guid extensionID, System.Guid voicemailID) {
            this.Invoke("DeleteVoicemail", new object[] {
                        authInfo,
                        extensionID,
                        voicemailID});
        }
        
        /// <remarks/>
        public void DeleteVoicemailAsync(CallButlerAuthInfo authInfo, System.Guid extensionID, System.Guid voicemailID) {
            this.DeleteVoicemailAsync(authInfo, extensionID, voicemailID, null);
        }
        
        /// <remarks/>
        public void DeleteVoicemailAsync(CallButlerAuthInfo authInfo, System.Guid extensionID, System.Guid voicemailID, object userState) {
            if ((this.DeleteVoicemailOperationCompleted == null)) {
                this.DeleteVoicemailOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteVoicemailOperationCompleted);
            }
            this.InvokeAsync("DeleteVoicemail", new object[] {
                        authInfo,
                        extensionID,
                        voicemailID}, this.DeleteVoicemailOperationCompleted, userState);
        }
        
        private void OnDeleteVoicemailOperationCompleted(object arg) {
            if ((this.DeleteVoicemailCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DeleteVoicemailCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/GetVoicemailSound", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        [return: System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary")]
        public byte[] GetVoicemailSound(CallButlerAuthInfo authInfo, System.Guid extensionID, System.Guid voicemailId) {
            object[] results = this.Invoke("GetVoicemailSound", new object[] {
                        authInfo,
                        extensionID,
                        voicemailId});
            return ((byte[])(results[0]));
        }
        
        /// <remarks/>
        public void GetVoicemailSoundAsync(CallButlerAuthInfo authInfo, System.Guid extensionID, System.Guid voicemailId) {
            this.GetVoicemailSoundAsync(authInfo, extensionID, voicemailId, null);
        }
        
        /// <remarks/>
        public void GetVoicemailSoundAsync(CallButlerAuthInfo authInfo, System.Guid extensionID, System.Guid voicemailId, object userState) {
            if ((this.GetVoicemailSoundOperationCompleted == null)) {
                this.GetVoicemailSoundOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetVoicemailSoundOperationCompleted);
            }
            this.InvokeAsync("GetVoicemailSound", new object[] {
                        authInfo,
                        extensionID,
                        voicemailId}, this.GetVoicemailSoundOperationCompleted, userState);
        }
        
        private void OnGetVoicemailSoundOperationCompleted(object arg) {
            if ((this.GetVoicemailSoundCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetVoicemailSoundCompleted(this, new GetVoicemailSoundCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/GetDepartments", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public CallButlerDataset.DepartmentsDataTable GetDepartments(CallButlerAuthInfo authInfo) {
            object[] results = this.Invoke("GetDepartments", new object[] {
                        authInfo});
            return ((CallButlerDataset.DepartmentsDataTable)(results[0]));
        }
        
        /// <remarks/>
        public void GetDepartmentsAsync(CallButlerAuthInfo authInfo) {
            this.GetDepartmentsAsync(authInfo, null);
        }
        
        /// <remarks/>
        public void GetDepartmentsAsync(CallButlerAuthInfo authInfo, object userState) {
            if ((this.GetDepartmentsOperationCompleted == null)) {
                this.GetDepartmentsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetDepartmentsOperationCompleted);
            }
            this.InvokeAsync("GetDepartments", new object[] {
                        authInfo}, this.GetDepartmentsOperationCompleted, userState);
        }
        
        private void OnGetDepartmentsOperationCompleted(object arg) {
            if ((this.GetDepartmentsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetDepartmentsCompleted(this, new GetDepartmentsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/PersistDepartment", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void PersistDepartment(CallButlerAuthInfo authInfo, CallButlerDataset.DepartmentsDataTable department) {
            this.Invoke("PersistDepartment", new object[] {
                        authInfo,
                        department});
        }
        
        /// <remarks/>
        public void PersistDepartmentAsync(CallButlerAuthInfo authInfo, CallButlerDataset.DepartmentsDataTable department) {
            this.PersistDepartmentAsync(authInfo, department, null);
        }
        
        /// <remarks/>
        public void PersistDepartmentAsync(CallButlerAuthInfo authInfo, CallButlerDataset.DepartmentsDataTable department, object userState) {
            if ((this.PersistDepartmentOperationCompleted == null)) {
                this.PersistDepartmentOperationCompleted = new System.Threading.SendOrPostCallback(this.OnPersistDepartmentOperationCompleted);
            }
            this.InvokeAsync("PersistDepartment", new object[] {
                        authInfo,
                        department}, this.PersistDepartmentOperationCompleted, userState);
        }
        
        private void OnPersistDepartmentOperationCompleted(object arg) {
            if ((this.PersistDepartmentCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.PersistDepartmentCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/DeleteDepartment", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void DeleteDepartment(CallButlerAuthInfo authInfo, System.Guid departmentID) {
            this.Invoke("DeleteDepartment", new object[] {
                        authInfo,
                        departmentID});
        }
        
        /// <remarks/>
        public void DeleteDepartmentAsync(CallButlerAuthInfo authInfo, System.Guid departmentID) {
            this.DeleteDepartmentAsync(authInfo, departmentID, null);
        }
        
        /// <remarks/>
        public void DeleteDepartmentAsync(CallButlerAuthInfo authInfo, System.Guid departmentID, object userState) {
            if ((this.DeleteDepartmentOperationCompleted == null)) {
                this.DeleteDepartmentOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteDepartmentOperationCompleted);
            }
            this.InvokeAsync("DeleteDepartment", new object[] {
                        authInfo,
                        departmentID}, this.DeleteDepartmentOperationCompleted, userState);
        }
        
        private void OnDeleteDepartmentOperationCompleted(object arg) {
            if ((this.DeleteDepartmentCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DeleteDepartmentCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/GetEmployeeExtension", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public CallButlerDataset.ExtensionsDataTable GetEmployeeExtension(CallButlerAuthInfo authInfo, int extension, string password) {
            object[] results = this.Invoke("GetEmployeeExtension", new object[] {
                        authInfo,
                        extension,
                        password});
            return ((CallButlerDataset.ExtensionsDataTable)(results[0]));
        }
        
        /// <remarks/>
        public void GetEmployeeExtensionAsync(CallButlerAuthInfo authInfo, int extension, string password) {
            this.GetEmployeeExtensionAsync(authInfo, extension, password, null);
        }
        
        /// <remarks/>
        public void GetEmployeeExtensionAsync(CallButlerAuthInfo authInfo, int extension, string password, object userState) {
            if ((this.GetEmployeeExtensionOperationCompleted == null)) {
                this.GetEmployeeExtensionOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetEmployeeExtensionOperationCompleted);
            }
            this.InvokeAsync("GetEmployeeExtension", new object[] {
                        authInfo,
                        extension,
                        password}, this.GetEmployeeExtensionOperationCompleted, userState);
        }
        
        private void OnGetEmployeeExtensionOperationCompleted(object arg) {
            if ((this.GetEmployeeExtensionCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetEmployeeExtensionCompleted(this, new GetEmployeeExtensionCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/DoesEmployeeHaveNewVoicemails", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public bool DoesEmployeeHaveNewVoicemails(CallButlerAuthInfo authInfo, System.Guid extensionId) {
            object[] results = this.Invoke("DoesEmployeeHaveNewVoicemails", new object[] {
                        authInfo,
                        extensionId});
            return ((bool)(results[0]));
        }
        
        /// <remarks/>
        public void DoesEmployeeHaveNewVoicemailsAsync(CallButlerAuthInfo authInfo, System.Guid extensionId) {
            this.DoesEmployeeHaveNewVoicemailsAsync(authInfo, extensionId, null);
        }
        
        /// <remarks/>
        public void DoesEmployeeHaveNewVoicemailsAsync(CallButlerAuthInfo authInfo, System.Guid extensionId, object userState) {
            if ((this.DoesEmployeeHaveNewVoicemailsOperationCompleted == null)) {
                this.DoesEmployeeHaveNewVoicemailsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDoesEmployeeHaveNewVoicemailsOperationCompleted);
            }
            this.InvokeAsync("DoesEmployeeHaveNewVoicemails", new object[] {
                        authInfo,
                        extensionId}, this.DoesEmployeeHaveNewVoicemailsOperationCompleted, userState);
        }
        
        private void OnDoesEmployeeHaveNewVoicemailsOperationCompleted(object arg) {
            if ((this.DoesEmployeeHaveNewVoicemailsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DoesEmployeeHaveNewVoicemailsCompleted(this, new DoesEmployeeHaveNewVoicemailsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/GetNewEmployeeVoicemails", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public CallButlerDataset.VoicemailsDataTable GetNewEmployeeVoicemails(CallButlerAuthInfo authInfo, System.Guid extensionId) {
            object[] results = this.Invoke("GetNewEmployeeVoicemails", new object[] {
                        authInfo,
                        extensionId});
            return ((CallButlerDataset.VoicemailsDataTable)(results[0]));
        }
        
        /// <remarks/>
        public void GetNewEmployeeVoicemailsAsync(CallButlerAuthInfo authInfo, System.Guid extensionId) {
            this.GetNewEmployeeVoicemailsAsync(authInfo, extensionId, null);
        }
        
        /// <remarks/>
        public void GetNewEmployeeVoicemailsAsync(CallButlerAuthInfo authInfo, System.Guid extensionId, object userState) {
            if ((this.GetNewEmployeeVoicemailsOperationCompleted == null)) {
                this.GetNewEmployeeVoicemailsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetNewEmployeeVoicemailsOperationCompleted);
            }
            this.InvokeAsync("GetNewEmployeeVoicemails", new object[] {
                        authInfo,
                        extensionId}, this.GetNewEmployeeVoicemailsOperationCompleted, userState);
        }
        
        private void OnGetNewEmployeeVoicemailsOperationCompleted(object arg) {
            if ((this.GetNewEmployeeVoicemailsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetNewEmployeeVoicemailsCompleted(this, new GetNewEmployeeVoicemailsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/[CallButlerDataset.LocalizedGreetingsDataTable] Ge" +
            "tLocalizedGreeting(CallButlerAuthInfo authInfo, Guid greetingID, string language" +
            "ID)", RequestElementName="[CallButlerDataset.LocalizedGreetingsDataTable] GetLocalizedGreeting(CallButlerAu" +
            "thInfo authInfo, Guid greetingID, string languageID)", RequestNamespace="http://services.callbutler.com/", ResponseElementName="[CallButlerDataset.LocalizedGreetingsDataTable] GetLocalizedGreeting(CallButlerAu" +
            "thInfo authInfo, Guid greetingID, string languageID)Response", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        [return: System.Xml.Serialization.XmlElementAttribute("[CallButlerDataset.LocalizedGreetingsDataTable] GetLocalizedGreeting(CallButlerAu" +
            "thInfo authInfo, Guid greetingID, string languageID)Result")]
        public CallButlerDataset.LocalizedGreetingsDataTable GetLocalizedGreeting(CallButlerAuthInfo authInfo, System.Guid greetingID, string languageID) {
            object[] results = this.Invoke("GetLocalizedGreeting", new object[] {
                        authInfo,
                        greetingID,
                        languageID});
            return ((CallButlerDataset.LocalizedGreetingsDataTable)(results[0]));
        }
        
        /// <remarks/>
        public void GetLocalizedGreetingAsync(CallButlerAuthInfo authInfo, System.Guid greetingID, string languageID) {
            this.GetLocalizedGreetingAsync(authInfo, greetingID, languageID, null);
        }
        
        /// <remarks/>
        public void GetLocalizedGreetingAsync(CallButlerAuthInfo authInfo, System.Guid greetingID, string languageID, object userState) {
            if ((this.GetLocalizedGreetingOperationCompleted == null)) {
                this.GetLocalizedGreetingOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetLocalizedGreetingOperationCompleted);
            }
            this.InvokeAsync("GetLocalizedGreeting", new object[] {
                        authInfo,
                        greetingID,
                        languageID}, this.GetLocalizedGreetingOperationCompleted, userState);
        }
        
        private void OnGetLocalizedGreetingOperationCompleted(object arg) {
            if ((this.GetLocalizedGreetingCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetLocalizedGreetingCompleted(this, new GetLocalizedGreetingCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.WebMethodAttribute(MessageName="GetLocalizedGreeting1")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/[CallButlerDataset.LocalizedGreetingsDataTable] Ge" +
            "tLocalizedGreeting(CallButlerAuthInfo authInfo, Guid greetingID, Guid localizedG" +
            "reetingID)", RequestElementName="[CallButlerDataset.LocalizedGreetingsDataTable] GetLocalizedGreeting(CallButlerAu" +
            "thInfo authInfo, Guid greetingID, Guid localizedGreetingID)", RequestNamespace="http://services.callbutler.com/", ResponseElementName="[CallButlerDataset.LocalizedGreetingsDataTable] GetLocalizedGreeting(CallButlerAu" +
            "thInfo authInfo, Guid greetingID, Guid localizedGreetingID)Response", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        [return: System.Xml.Serialization.XmlElementAttribute("[CallButlerDataset.LocalizedGreetingsDataTable] GetLocalizedGreeting(CallButlerAu" +
            "thInfo authInfo, Guid greetingID, Guid localizedGreetingID)Result")]
        public CallButlerDataset.LocalizedGreetingsDataTable GetLocalizedGreeting(CallButlerAuthInfo authInfo, System.Guid greetingID, System.Guid localizedGreetingID) {
            object[] results = this.Invoke("GetLocalizedGreeting1", new object[] {
                        authInfo,
                        greetingID,
                        localizedGreetingID});
            return ((CallButlerDataset.LocalizedGreetingsDataTable)(results[0]));
        }
        
        /// <remarks/>
        public void GetLocalizedGreeting1Async(CallButlerAuthInfo authInfo, System.Guid greetingID, System.Guid localizedGreetingID) {
            this.GetLocalizedGreeting1Async(authInfo, greetingID, localizedGreetingID, null);
        }
        
        /// <remarks/>
        public void GetLocalizedGreeting1Async(CallButlerAuthInfo authInfo, System.Guid greetingID, System.Guid localizedGreetingID, object userState) {
            if ((this.GetLocalizedGreeting1OperationCompleted == null)) {
                this.GetLocalizedGreeting1OperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetLocalizedGreeting1OperationCompleted);
            }
            this.InvokeAsync("GetLocalizedGreeting1", new object[] {
                        authInfo,
                        greetingID,
                        localizedGreetingID}, this.GetLocalizedGreeting1OperationCompleted, userState);
        }
        
        private void OnGetLocalizedGreeting1OperationCompleted(object arg) {
            if ((this.GetLocalizedGreeting1Completed != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetLocalizedGreeting1Completed(this, new GetLocalizedGreeting1CompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/GetLocalizedGreetingInDefaultLanguage", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public CallButlerDataset.LocalizedGreetingsDataTable GetLocalizedGreetingInDefaultLanguage(CallButlerAuthInfo authInfo, System.Guid greetingID) {
            object[] results = this.Invoke("GetLocalizedGreetingInDefaultLanguage", new object[] {
                        authInfo,
                        greetingID});
            return ((CallButlerDataset.LocalizedGreetingsDataTable)(results[0]));
        }
        
        /// <remarks/>
        public void GetLocalizedGreetingInDefaultLanguageAsync(CallButlerAuthInfo authInfo, System.Guid greetingID) {
            this.GetLocalizedGreetingInDefaultLanguageAsync(authInfo, greetingID, null);
        }
        
        /// <remarks/>
        public void GetLocalizedGreetingInDefaultLanguageAsync(CallButlerAuthInfo authInfo, System.Guid greetingID, object userState) {
            if ((this.GetLocalizedGreetingInDefaultLanguageOperationCompleted == null)) {
                this.GetLocalizedGreetingInDefaultLanguageOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetLocalizedGreetingInDefaultLanguageOperationCompleted);
            }
            this.InvokeAsync("GetLocalizedGreetingInDefaultLanguage", new object[] {
                        authInfo,
                        greetingID}, this.GetLocalizedGreetingInDefaultLanguageOperationCompleted, userState);
        }
        
        private void OnGetLocalizedGreetingInDefaultLanguageOperationCompleted(object arg) {
            if ((this.GetLocalizedGreetingInDefaultLanguageCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetLocalizedGreetingInDefaultLanguageCompleted(this, new GetLocalizedGreetingInDefaultLanguageCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/[void] PersistLocalizedGreeting(CallButlerAuthInfo" +
            " authInfo, CallButlerDataset.LocalizedGreetingsDataTable localizedGreeting)", RequestElementName="[void] PersistLocalizedGreeting(CallButlerAuthInfo authInfo, CallButlerDataset.Lo" +
            "calizedGreetingsDataTable localizedGreeting)", RequestNamespace="http://services.callbutler.com/", ResponseElementName="[void] PersistLocalizedGreeting(CallButlerAuthInfo authInfo, CallButlerDataset.Lo" +
            "calizedGreetingsDataTable localizedGreeting)Response", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void PersistLocalizedGreeting(CallButlerAuthInfo authInfo, CallButlerDataset.LocalizedGreetingsDataTable localizedGreeting) {
            this.Invoke("PersistLocalizedGreeting", new object[] {
                        authInfo,
                        localizedGreeting});
        }
        
        /// <remarks/>
        public void PersistLocalizedGreetingAsync(CallButlerAuthInfo authInfo, CallButlerDataset.LocalizedGreetingsDataTable localizedGreeting) {
            this.PersistLocalizedGreetingAsync(authInfo, localizedGreeting, null);
        }
        
        /// <remarks/>
        public void PersistLocalizedGreetingAsync(CallButlerAuthInfo authInfo, CallButlerDataset.LocalizedGreetingsDataTable localizedGreeting, object userState) {
            if ((this.PersistLocalizedGreetingOperationCompleted == null)) {
                this.PersistLocalizedGreetingOperationCompleted = new System.Threading.SendOrPostCallback(this.OnPersistLocalizedGreetingOperationCompleted);
            }
            this.InvokeAsync("PersistLocalizedGreeting", new object[] {
                        authInfo,
                        localizedGreeting}, this.PersistLocalizedGreetingOperationCompleted, userState);
        }
        
        private void OnPersistLocalizedGreetingOperationCompleted(object arg) {
            if ((this.PersistLocalizedGreetingCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.PersistLocalizedGreetingCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/DeleteGreeting", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void DeleteGreeting(CallButlerAuthInfo authInfo, System.Guid greetingID) {
            this.Invoke("DeleteGreeting", new object[] {
                        authInfo,
                        greetingID});
        }
        
        /// <remarks/>
        public void DeleteGreetingAsync(CallButlerAuthInfo authInfo, System.Guid greetingID) {
            this.DeleteGreetingAsync(authInfo, greetingID, null);
        }
        
        /// <remarks/>
        public void DeleteGreetingAsync(CallButlerAuthInfo authInfo, System.Guid greetingID, object userState) {
            if ((this.DeleteGreetingOperationCompleted == null)) {
                this.DeleteGreetingOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteGreetingOperationCompleted);
            }
            this.InvokeAsync("DeleteGreeting", new object[] {
                        authInfo,
                        greetingID}, this.DeleteGreetingOperationCompleted, userState);
        }
        
        private void OnDeleteGreetingOperationCompleted(object arg) {
            if ((this.DeleteGreetingCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DeleteGreetingCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/GetLocalizedGreetingSound", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        [return: System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary")]
        public byte[] GetLocalizedGreetingSound(CallButlerAuthInfo authInfo, System.Guid greetingID, System.Guid localizedGreetingID) {
            object[] results = this.Invoke("GetLocalizedGreetingSound", new object[] {
                        authInfo,
                        greetingID,
                        localizedGreetingID});
            return ((byte[])(results[0]));
        }
        
        /// <remarks/>
        public void GetLocalizedGreetingSoundAsync(CallButlerAuthInfo authInfo, System.Guid greetingID, System.Guid localizedGreetingID) {
            this.GetLocalizedGreetingSoundAsync(authInfo, greetingID, localizedGreetingID, null);
        }
        
        /// <remarks/>
        public void GetLocalizedGreetingSoundAsync(CallButlerAuthInfo authInfo, System.Guid greetingID, System.Guid localizedGreetingID, object userState) {
            if ((this.GetLocalizedGreetingSoundOperationCompleted == null)) {
                this.GetLocalizedGreetingSoundOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetLocalizedGreetingSoundOperationCompleted);
            }
            this.InvokeAsync("GetLocalizedGreetingSound", new object[] {
                        authInfo,
                        greetingID,
                        localizedGreetingID}, this.GetLocalizedGreetingSoundOperationCompleted, userState);
        }
        
        private void OnGetLocalizedGreetingSoundOperationCompleted(object arg) {
            if ((this.GetLocalizedGreetingSoundCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetLocalizedGreetingSoundCompleted(this, new GetLocalizedGreetingSoundCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/PersistLocalizedGreetingSound", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void PersistLocalizedGreetingSound(CallButlerAuthInfo authInfo, System.Guid greetingID, System.Guid localizedGreetingID, [System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary")] byte[] soundBytes) {
            this.Invoke("PersistLocalizedGreetingSound", new object[] {
                        authInfo,
                        greetingID,
                        localizedGreetingID,
                        soundBytes});
        }
        
        /// <remarks/>
        public void PersistLocalizedGreetingSoundAsync(CallButlerAuthInfo authInfo, System.Guid greetingID, System.Guid localizedGreetingID, byte[] soundBytes) {
            this.PersistLocalizedGreetingSoundAsync(authInfo, greetingID, localizedGreetingID, soundBytes, null);
        }
        
        /// <remarks/>
        public void PersistLocalizedGreetingSoundAsync(CallButlerAuthInfo authInfo, System.Guid greetingID, System.Guid localizedGreetingID, byte[] soundBytes, object userState) {
            if ((this.PersistLocalizedGreetingSoundOperationCompleted == null)) {
                this.PersistLocalizedGreetingSoundOperationCompleted = new System.Threading.SendOrPostCallback(this.OnPersistLocalizedGreetingSoundOperationCompleted);
            }
            this.InvokeAsync("PersistLocalizedGreetingSound", new object[] {
                        authInfo,
                        greetingID,
                        localizedGreetingID,
                        soundBytes}, this.PersistLocalizedGreetingSoundOperationCompleted, userState);
        }
        
        private void OnPersistLocalizedGreetingSoundOperationCompleted(object arg) {
            if ((this.PersistLocalizedGreetingSoundCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.PersistLocalizedGreetingSoundCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/GetPersonalizedGreetings", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public CallButlerDataset.PersonalizedGreetingsDataTable GetPersonalizedGreetings(CallButlerAuthInfo authInfo) {
            object[] results = this.Invoke("GetPersonalizedGreetings", new object[] {
                        authInfo});
            return ((CallButlerDataset.PersonalizedGreetingsDataTable)(results[0]));
        }
        
        /// <remarks/>
        public void GetPersonalizedGreetingsAsync(CallButlerAuthInfo authInfo) {
            this.GetPersonalizedGreetingsAsync(authInfo, null);
        }
        
        /// <remarks/>
        public void GetPersonalizedGreetingsAsync(CallButlerAuthInfo authInfo, object userState) {
            if ((this.GetPersonalizedGreetingsOperationCompleted == null)) {
                this.GetPersonalizedGreetingsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetPersonalizedGreetingsOperationCompleted);
            }
            this.InvokeAsync("GetPersonalizedGreetings", new object[] {
                        authInfo}, this.GetPersonalizedGreetingsOperationCompleted, userState);
        }
        
        private void OnGetPersonalizedGreetingsOperationCompleted(object arg) {
            if ((this.GetPersonalizedGreetingsCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetPersonalizedGreetingsCompleted(this, new GetPersonalizedGreetingsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/PersistPersonalizedGreeting", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void PersistPersonalizedGreeting(CallButlerAuthInfo authInfo, CallButlerDataset.PersonalizedGreetingsDataTable personalizedGreeting) {
            this.Invoke("PersistPersonalizedGreeting", new object[] {
                        authInfo,
                        personalizedGreeting});
        }
        
        /// <remarks/>
        public void PersistPersonalizedGreetingAsync(CallButlerAuthInfo authInfo, CallButlerDataset.PersonalizedGreetingsDataTable personalizedGreeting) {
            this.PersistPersonalizedGreetingAsync(authInfo, personalizedGreeting, null);
        }
        
        /// <remarks/>
        public void PersistPersonalizedGreetingAsync(CallButlerAuthInfo authInfo, CallButlerDataset.PersonalizedGreetingsDataTable personalizedGreeting, object userState) {
            if ((this.PersistPersonalizedGreetingOperationCompleted == null)) {
                this.PersistPersonalizedGreetingOperationCompleted = new System.Threading.SendOrPostCallback(this.OnPersistPersonalizedGreetingOperationCompleted);
            }
            this.InvokeAsync("PersistPersonalizedGreeting", new object[] {
                        authInfo,
                        personalizedGreeting}, this.PersistPersonalizedGreetingOperationCompleted, userState);
        }
        
        private void OnPersistPersonalizedGreetingOperationCompleted(object arg) {
            if ((this.PersistPersonalizedGreetingCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.PersistPersonalizedGreetingCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/DeletePersonalizedGreeting", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void DeletePersonalizedGreeting(CallButlerAuthInfo authInfo, System.Guid personalizedGreetingID) {
            this.Invoke("DeletePersonalizedGreeting", new object[] {
                        authInfo,
                        personalizedGreetingID});
        }
        
        /// <remarks/>
        public void DeletePersonalizedGreetingAsync(CallButlerAuthInfo authInfo, System.Guid personalizedGreetingID) {
            this.DeletePersonalizedGreetingAsync(authInfo, personalizedGreetingID, null);
        }
        
        /// <remarks/>
        public void DeletePersonalizedGreetingAsync(CallButlerAuthInfo authInfo, System.Guid personalizedGreetingID, object userState) {
            if ((this.DeletePersonalizedGreetingOperationCompleted == null)) {
                this.DeletePersonalizedGreetingOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeletePersonalizedGreetingOperationCompleted);
            }
            this.InvokeAsync("DeletePersonalizedGreeting", new object[] {
                        authInfo,
                        personalizedGreetingID}, this.DeletePersonalizedGreetingOperationCompleted, userState);
        }
        
        private void OnDeletePersonalizedGreetingOperationCompleted(object arg) {
            if ((this.DeletePersonalizedGreetingCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DeletePersonalizedGreetingCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/GetProviders", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public CallButlerDataset.ProvidersDataTable GetProviders(CallButlerAuthInfo authInfo) {
            object[] results = this.Invoke("GetProviders", new object[] {
                        authInfo});
            return ((CallButlerDataset.ProvidersDataTable)(results[0]));
        }
        
        /// <remarks/>
        public void GetProvidersAsync(CallButlerAuthInfo authInfo) {
            this.GetProvidersAsync(authInfo, null);
        }
        
        /// <remarks/>
        public void GetProvidersAsync(CallButlerAuthInfo authInfo, object userState) {
            if ((this.GetProvidersOperationCompleted == null)) {
                this.GetProvidersOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetProvidersOperationCompleted);
            }
            this.InvokeAsync("GetProviders", new object[] {
                        authInfo}, this.GetProvidersOperationCompleted, userState);
        }
        
        private void OnGetProvidersOperationCompleted(object arg) {
            if ((this.GetProvidersCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetProvidersCompleted(this, new GetProvidersCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/PersistProviders", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void PersistProviders(CallButlerAuthInfo authInfo, CallButlerDataset.ProvidersDataTable providers) {
            this.Invoke("PersistProviders", new object[] {
                        authInfo,
                        providers});
        }
        
        /// <remarks/>
        public void PersistProvidersAsync(CallButlerAuthInfo authInfo, CallButlerDataset.ProvidersDataTable providers) {
            this.PersistProvidersAsync(authInfo, providers, null);
        }
        
        /// <remarks/>
        public void PersistProvidersAsync(CallButlerAuthInfo authInfo, CallButlerDataset.ProvidersDataTable providers, object userState) {
            if ((this.PersistProvidersOperationCompleted == null)) {
                this.PersistProvidersOperationCompleted = new System.Threading.SendOrPostCallback(this.OnPersistProvidersOperationCompleted);
            }
            this.InvokeAsync("PersistProviders", new object[] {
                        authInfo,
                        providers}, this.PersistProvidersOperationCompleted, userState);
        }
        
        private void OnPersistProvidersOperationCompleted(object arg) {
            if ((this.PersistProvidersCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.PersistProvidersCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/DeleteProvider", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void DeleteProvider(CallButlerAuthInfo authInfo, System.Guid providerID) {
            this.Invoke("DeleteProvider", new object[] {
                        authInfo,
                        providerID});
        }
        
        /// <remarks/>
        public void DeleteProviderAsync(CallButlerAuthInfo authInfo, System.Guid providerID) {
            this.DeleteProviderAsync(authInfo, providerID, null);
        }
        
        /// <remarks/>
        public void DeleteProviderAsync(CallButlerAuthInfo authInfo, System.Guid providerID, object userState) {
            if ((this.DeleteProviderOperationCompleted == null)) {
                this.DeleteProviderOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteProviderOperationCompleted);
            }
            this.InvokeAsync("DeleteProvider", new object[] {
                        authInfo,
                        providerID}, this.DeleteProviderOperationCompleted, userState);
        }
        
        private void OnDeleteProviderOperationCompleted(object arg) {
            if ((this.DeleteProviderCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DeleteProviderCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/GetScriptSchedules", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public CallButlerDataset.ScriptSchedulesDataTable GetScriptSchedules(CallButlerAuthInfo authInfo) {
            object[] results = this.Invoke("GetScriptSchedules", new object[] {
                        authInfo});
            return ((CallButlerDataset.ScriptSchedulesDataTable)(results[0]));
        }
        
        /// <remarks/>
        public void GetScriptSchedulesAsync(CallButlerAuthInfo authInfo) {
            this.GetScriptSchedulesAsync(authInfo, null);
        }
        
        /// <remarks/>
        public void GetScriptSchedulesAsync(CallButlerAuthInfo authInfo, object userState) {
            if ((this.GetScriptSchedulesOperationCompleted == null)) {
                this.GetScriptSchedulesOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetScriptSchedulesOperationCompleted);
            }
            this.InvokeAsync("GetScriptSchedules", new object[] {
                        authInfo}, this.GetScriptSchedulesOperationCompleted, userState);
        }
        
        private void OnGetScriptSchedulesOperationCompleted(object arg) {
            if ((this.GetScriptSchedulesCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetScriptSchedulesCompleted(this, new GetScriptSchedulesCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/PersistScriptSchedule", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void PersistScriptSchedule(CallButlerAuthInfo authInfo, CallButlerDataset.ScriptSchedulesDataTable scriptSchedules) {
            this.Invoke("PersistScriptSchedule", new object[] {
                        authInfo,
                        scriptSchedules});
        }
        
        /// <remarks/>
        public void PersistScriptScheduleAsync(CallButlerAuthInfo authInfo, CallButlerDataset.ScriptSchedulesDataTable scriptSchedules) {
            this.PersistScriptScheduleAsync(authInfo, scriptSchedules, null);
        }
        
        /// <remarks/>
        public void PersistScriptScheduleAsync(CallButlerAuthInfo authInfo, CallButlerDataset.ScriptSchedulesDataTable scriptSchedules, object userState) {
            if ((this.PersistScriptScheduleOperationCompleted == null)) {
                this.PersistScriptScheduleOperationCompleted = new System.Threading.SendOrPostCallback(this.OnPersistScriptScheduleOperationCompleted);
            }
            this.InvokeAsync("PersistScriptSchedule", new object[] {
                        authInfo,
                        scriptSchedules}, this.PersistScriptScheduleOperationCompleted, userState);
        }
        
        private void OnPersistScriptScheduleOperationCompleted(object arg) {
            if ((this.PersistScriptScheduleCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.PersistScriptScheduleCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/DeleteScriptSchedule", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void DeleteScriptSchedule(CallButlerAuthInfo authInfo, System.Guid scriptScheduleID) {
            this.Invoke("DeleteScriptSchedule", new object[] {
                        authInfo,
                        scriptScheduleID});
        }
        
        /// <remarks/>
        public void DeleteScriptScheduleAsync(CallButlerAuthInfo authInfo, System.Guid scriptScheduleID) {
            this.DeleteScriptScheduleAsync(authInfo, scriptScheduleID, null);
        }
        
        /// <remarks/>
        public void DeleteScriptScheduleAsync(CallButlerAuthInfo authInfo, System.Guid scriptScheduleID, object userState) {
            if ((this.DeleteScriptScheduleOperationCompleted == null)) {
                this.DeleteScriptScheduleOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteScriptScheduleOperationCompleted);
            }
            this.InvokeAsync("DeleteScriptSchedule", new object[] {
                        authInfo,
                        scriptScheduleID}, this.DeleteScriptScheduleOperationCompleted, userState);
        }
        
        private void OnDeleteScriptScheduleOperationCompleted(object arg) {
            if ((this.DeleteScriptScheduleCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DeleteScriptScheduleCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/GetCustomerLogin", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public int GetCustomerLogin(string login, string managementPassword) {
            object[] results = this.Invoke("GetCustomerLogin", new object[] {
                        login,
                        managementPassword});
            return ((int)(results[0]));
        }
        
        /// <remarks/>
        public void GetCustomerLoginAsync(string login, string managementPassword) {
            this.GetCustomerLoginAsync(login, managementPassword, null);
        }
        
        /// <remarks/>
        public void GetCustomerLoginAsync(string login, string managementPassword, object userState) {
            if ((this.GetCustomerLoginOperationCompleted == null)) {
                this.GetCustomerLoginOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetCustomerLoginOperationCompleted);
            }
            this.InvokeAsync("GetCustomerLogin", new object[] {
                        login,
                        managementPassword}, this.GetCustomerLoginOperationCompleted, userState);
        }
        
        private void OnGetCustomerLoginOperationCompleted(object arg) {
            if ((this.GetCustomerLoginCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetCustomerLoginCompleted(this, new GetCustomerLoginCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/GetRecordVolume", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public byte GetRecordVolume(CallButlerAuthInfo authInfo) {
            object[] results = this.Invoke("GetRecordVolume", new object[] {
                        authInfo});
            return ((byte)(results[0]));
        }
        
        /// <remarks/>
        public void GetRecordVolumeAsync(CallButlerAuthInfo authInfo) {
            this.GetRecordVolumeAsync(authInfo, null);
        }
        
        /// <remarks/>
        public void GetRecordVolumeAsync(CallButlerAuthInfo authInfo, object userState) {
            if ((this.GetRecordVolumeOperationCompleted == null)) {
                this.GetRecordVolumeOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetRecordVolumeOperationCompleted);
            }
            this.InvokeAsync("GetRecordVolume", new object[] {
                        authInfo}, this.GetRecordVolumeOperationCompleted, userState);
        }
        
        private void OnGetRecordVolumeOperationCompleted(object arg) {
            if ((this.GetRecordVolumeCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetRecordVolumeCompleted(this, new GetRecordVolumeCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/SetRecordVolume", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void SetRecordVolume(CallButlerAuthInfo authInfo, byte recordVolume) {
            this.Invoke("SetRecordVolume", new object[] {
                        authInfo,
                        recordVolume});
        }
        
        /// <remarks/>
        public void SetRecordVolumeAsync(CallButlerAuthInfo authInfo, byte recordVolume) {
            this.SetRecordVolumeAsync(authInfo, recordVolume, null);
        }
        
        /// <remarks/>
        public void SetRecordVolumeAsync(CallButlerAuthInfo authInfo, byte recordVolume, object userState) {
            if ((this.SetRecordVolumeOperationCompleted == null)) {
                this.SetRecordVolumeOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetRecordVolumeOperationCompleted);
            }
            this.InvokeAsync("SetRecordVolume", new object[] {
                        authInfo,
                        recordVolume}, this.SetRecordVolumeOperationCompleted, userState);
        }
        
        private void OnSetRecordVolumeOperationCompleted(object arg) {
            if ((this.SetRecordVolumeCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SetRecordVolumeCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/GetSoundVolume", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public byte GetSoundVolume(CallButlerAuthInfo authInfo) {
            object[] results = this.Invoke("GetSoundVolume", new object[] {
                        authInfo});
            return ((byte)(results[0]));
        }
        
        /// <remarks/>
        public void GetSoundVolumeAsync(CallButlerAuthInfo authInfo) {
            this.GetSoundVolumeAsync(authInfo, null);
        }
        
        /// <remarks/>
        public void GetSoundVolumeAsync(CallButlerAuthInfo authInfo, object userState) {
            if ((this.GetSoundVolumeOperationCompleted == null)) {
                this.GetSoundVolumeOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetSoundVolumeOperationCompleted);
            }
            this.InvokeAsync("GetSoundVolume", new object[] {
                        authInfo}, this.GetSoundVolumeOperationCompleted, userState);
        }
        
        private void OnGetSoundVolumeOperationCompleted(object arg) {
            if ((this.GetSoundVolumeCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetSoundVolumeCompleted(this, new GetSoundVolumeCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/SetSoundVolume", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void SetSoundVolume(CallButlerAuthInfo authInfo, byte soundVolume) {
            this.Invoke("SetSoundVolume", new object[] {
                        authInfo,
                        soundVolume});
        }
        
        /// <remarks/>
        public void SetSoundVolumeAsync(CallButlerAuthInfo authInfo, byte soundVolume) {
            this.SetSoundVolumeAsync(authInfo, soundVolume, null);
        }
        
        /// <remarks/>
        public void SetSoundVolumeAsync(CallButlerAuthInfo authInfo, byte soundVolume, object userState) {
            if ((this.SetSoundVolumeOperationCompleted == null)) {
                this.SetSoundVolumeOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetSoundVolumeOperationCompleted);
            }
            this.InvokeAsync("SetSoundVolume", new object[] {
                        authInfo,
                        soundVolume}, this.SetSoundVolumeOperationCompleted, userState);
        }
        
        private void OnSetSoundVolumeOperationCompleted(object arg) {
            if ((this.SetSoundVolumeCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SetSoundVolumeCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/GetSpeechVolume", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public byte GetSpeechVolume(CallButlerAuthInfo authInfo) {
            object[] results = this.Invoke("GetSpeechVolume", new object[] {
                        authInfo});
            return ((byte)(results[0]));
        }
        
        /// <remarks/>
        public void GetSpeechVolumeAsync(CallButlerAuthInfo authInfo) {
            this.GetSpeechVolumeAsync(authInfo, null);
        }
        
        /// <remarks/>
        public void GetSpeechVolumeAsync(CallButlerAuthInfo authInfo, object userState) {
            if ((this.GetSpeechVolumeOperationCompleted == null)) {
                this.GetSpeechVolumeOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetSpeechVolumeOperationCompleted);
            }
            this.InvokeAsync("GetSpeechVolume", new object[] {
                        authInfo}, this.GetSpeechVolumeOperationCompleted, userState);
        }
        
        private void OnGetSpeechVolumeOperationCompleted(object arg) {
            if ((this.GetSpeechVolumeCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetSpeechVolumeCompleted(this, new GetSpeechVolumeCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/SetSpeechVolume", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void SetSpeechVolume(CallButlerAuthInfo authInfo, byte speechVolume) {
            this.Invoke("SetSpeechVolume", new object[] {
                        authInfo,
                        speechVolume});
        }
        
        /// <remarks/>
        public void SetSpeechVolumeAsync(CallButlerAuthInfo authInfo, byte speechVolume) {
            this.SetSpeechVolumeAsync(authInfo, speechVolume, null);
        }
        
        /// <remarks/>
        public void SetSpeechVolumeAsync(CallButlerAuthInfo authInfo, byte speechVolume, object userState) {
            if ((this.SetSpeechVolumeOperationCompleted == null)) {
                this.SetSpeechVolumeOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetSpeechVolumeOperationCompleted);
            }
            this.InvokeAsync("SetSpeechVolume", new object[] {
                        authInfo,
                        speechVolume}, this.SetSpeechVolumeOperationCompleted, userState);
        }
        
        private void OnSetSpeechVolumeOperationCompleted(object arg) {
            if ((this.SetSpeechVolumeCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SetSpeechVolumeCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/GetDefaultVoice", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public string GetDefaultVoice(CallButlerAuthInfo authInfo) {
            object[] results = this.Invoke("GetDefaultVoice", new object[] {
                        authInfo});
            return ((string)(results[0]));
        }
        
        /// <remarks/>
        public void GetDefaultVoiceAsync(CallButlerAuthInfo authInfo) {
            this.GetDefaultVoiceAsync(authInfo, null);
        }
        
        /// <remarks/>
        public void GetDefaultVoiceAsync(CallButlerAuthInfo authInfo, object userState) {
            if ((this.GetDefaultVoiceOperationCompleted == null)) {
                this.GetDefaultVoiceOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetDefaultVoiceOperationCompleted);
            }
            this.InvokeAsync("GetDefaultVoice", new object[] {
                        authInfo}, this.GetDefaultVoiceOperationCompleted, userState);
        }
        
        private void OnGetDefaultVoiceOperationCompleted(object arg) {
            if ((this.GetDefaultVoiceCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetDefaultVoiceCompleted(this, new GetDefaultVoiceCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/SetDefaultVoice", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void SetDefaultVoice(CallButlerAuthInfo authInfo, string defaultVoice) {
            this.Invoke("SetDefaultVoice", new object[] {
                        authInfo,
                        defaultVoice});
        }
        
        /// <remarks/>
        public void SetDefaultVoiceAsync(CallButlerAuthInfo authInfo, string defaultVoice) {
            this.SetDefaultVoiceAsync(authInfo, defaultVoice, null);
        }
        
        /// <remarks/>
        public void SetDefaultVoiceAsync(CallButlerAuthInfo authInfo, string defaultVoice, object userState) {
            if ((this.SetDefaultVoiceOperationCompleted == null)) {
                this.SetDefaultVoiceOperationCompleted = new System.Threading.SendOrPostCallback(this.OnSetDefaultVoiceOperationCompleted);
            }
            this.InvokeAsync("SetDefaultVoice", new object[] {
                        authInfo,
                        defaultVoice}, this.SetDefaultVoiceOperationCompleted, userState);
        }
        
        private void OnSetDefaultVoiceOperationCompleted(object arg) {
            if ((this.SetDefaultVoiceCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.SetDefaultVoiceCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://services.callbutler.com/GetHostedTestAddress", RequestNamespace="http://services.callbutler.com/", ResponseNamespace="http://services.callbutler.com/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public string GetHostedTestAddress(CallButlerAuthInfo authInfo) {
            object[] results = this.Invoke("GetHostedTestAddress", new object[] {
                        authInfo});
            return ((string)(results[0]));
        }
        
        /// <remarks/>
        public void GetHostedTestAddressAsync(CallButlerAuthInfo authInfo) {
            this.GetHostedTestAddressAsync(authInfo, null);
        }
        
        /// <remarks/>
        public void GetHostedTestAddressAsync(CallButlerAuthInfo authInfo, object userState) {
            if ((this.GetHostedTestAddressOperationCompleted == null)) {
                this.GetHostedTestAddressOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetHostedTestAddressOperationCompleted);
            }
            this.InvokeAsync("GetHostedTestAddress", new object[] {
                        authInfo}, this.GetHostedTestAddressOperationCompleted, userState);
        }
        
        private void OnGetHostedTestAddressOperationCompleted(object arg) {
            if ((this.GetHostedTestAddressCompleted != null)) {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetHostedTestAddressCompleted(this, new GetHostedTestAddressCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }
        
        /// <remarks/>
        public new void CancelAsync(object userState) {
            base.CancelAsync(userState);
        }
        
        private bool IsLocalFileSystemWebService(string url) {
            if (((url == null) 
                        || (url == string.Empty))) {
                return false;
            }
            System.Uri wsUri = new System.Uri(url);
            if (((wsUri.Port >= 1024) 
                        && (string.Compare(wsUri.Host, "localHost", System.StringComparison.OrdinalIgnoreCase) == 0))) {
                return true;
            }
            return false;
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "2.0.50727.1434")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://services.callbutler.com/")]
    public partial class CallButlerAuthInfo {
        
        private int customerIDField;
        
        private int extensionNumberField;
        
        private string passwordField;
        
        /// <remarks/>
        public int CustomerID {
            get {
                return this.customerIDField;
            }
            set {
                this.customerIDField = value;
            }
        }
        
        /// <remarks/>
        public int ExtensionNumber {
            get {
                return this.extensionNumberField;
            }
            set {
                this.extensionNumberField = value;
            }
        }
        
        /// <remarks/>
        public string Password {
            get {
                return this.passwordField;
            }
            set {
                this.passwordField = value;
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "2.0.50727.1434")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://services.callbutler.com/")]
    public partial class AudioCodecInformation {
        
        private string nameField;
        
        private bool enabledField;
        
        private object tagField;
        
        /// <remarks/>
        public string Name {
            get {
                return this.nameField;
            }
            set {
                this.nameField = value;
            }
        }
        
        /// <remarks/>
        public bool Enabled {
            get {
                return this.enabledField;
            }
            set {
                this.enabledField = value;
            }
        }
        
        /// <remarks/>
        public object Tag {
            get {
                return this.tagField;
            }
            set {
                this.tagField = value;
            }
        }
    }
    
    /// <summary>
    ///Represents a strongly typed in-memory cache of data.
    ///</summary>
    // This type definition was generated by System.Data.Design.TypedDataSetSchemaImporterExtension schema importer extension.
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
    [global::System.Serializable()]
    [global::System.ComponentModel.DesignerCategoryAttribute("code")]
    [global::System.ComponentModel.ToolboxItem(true)]
    [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedDataSetSchema")]
    [global::System.Xml.Serialization.XmlRootAttribute("CallButlerDataset")]
    [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.DataSet")]
    public partial class CallButlerDataset : global::System.Data.DataSet {
        
        private GreetingsDataTable tableGreetings;
        
        private LocalizedGreetingsDataTable tableLocalizedGreetings;
        
        private CallHistoryDataTable tableCallHistory;
        
        private DepartmentsDataTable tableDepartments;
        
        private ExtensionsDataTable tableExtensions;
        
        private ExtensionContactNumbersDataTable tableExtensionContactNumbers;
        
        private VoicemailsDataTable tableVoicemails;
        
        private PersonalizedGreetingsDataTable tablePersonalizedGreetings;
        
        private ProvidersDataTable tableProviders;
        
        private ScriptSchedulesDataTable tableScriptSchedules;
        
        private global::System.Data.DataRelation relationFK_Greetings_LocalizedGreetings;
        
        private global::System.Data.DataRelation relationFK_Extensions_ExtensionContactNumbers;
        
        private global::System.Data.DataRelation relationFK_Extensions_Voicemails;
        
        private global::System.Data.SchemaSerializationMode _schemaSerializationMode = global::System.Data.SchemaSerializationMode.IncludeSchema;
        
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
        public CallButlerDataset() {
            this.BeginInit();
            this.InitClass();
            global::System.ComponentModel.CollectionChangeEventHandler schemaChangedHandler = new global::System.ComponentModel.CollectionChangeEventHandler(this.SchemaChanged);
            base.Tables.CollectionChanged += schemaChangedHandler;
            base.Relations.CollectionChanged += schemaChangedHandler;
            this.EndInit();
        }
        
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
        protected CallButlerDataset(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : 
                base(info, context, false) {
            if ((this.IsBinarySerialized(info, context) == true)) {
                this.InitVars(false);
                global::System.ComponentModel.CollectionChangeEventHandler schemaChangedHandler1 = new global::System.ComponentModel.CollectionChangeEventHandler(this.SchemaChanged);
                this.Tables.CollectionChanged += schemaChangedHandler1;
                this.Relations.CollectionChanged += schemaChangedHandler1;
                return;
            }
            string strSchema = ((string)(info.GetValue("XmlSchema", typeof(string))));
            if ((this.DetermineSchemaSerializationMode(info, context) == global::System.Data.SchemaSerializationMode.IncludeSchema)) {
                global::System.Data.DataSet ds = new global::System.Data.DataSet();
                ds.ReadXmlSchema(new global::System.Xml.XmlTextReader(new global::System.IO.StringReader(strSchema)));
                if ((ds.Tables["Greetings"] != null)) {
                    base.Tables.Add(new GreetingsDataTable(ds.Tables["Greetings"]));
                }
                if ((ds.Tables["LocalizedGreetings"] != null)) {
                    base.Tables.Add(new LocalizedGreetingsDataTable(ds.Tables["LocalizedGreetings"]));
                }
                if ((ds.Tables["CallHistory"] != null)) {
                    base.Tables.Add(new CallHistoryDataTable(ds.Tables["CallHistory"]));
                }
                if ((ds.Tables["Departments"] != null)) {
                    base.Tables.Add(new DepartmentsDataTable(ds.Tables["Departments"]));
                }
                if ((ds.Tables["Extensions"] != null)) {
                    base.Tables.Add(new ExtensionsDataTable(ds.Tables["Extensions"]));
                }
                if ((ds.Tables["ExtensionContactNumbers"] != null)) {
                    base.Tables.Add(new ExtensionContactNumbersDataTable(ds.Tables["ExtensionContactNumbers"]));
                }
                if ((ds.Tables["Voicemails"] != null)) {
                    base.Tables.Add(new VoicemailsDataTable(ds.Tables["Voicemails"]));
                }
                if ((ds.Tables["PersonalizedGreetings"] != null)) {
                    base.Tables.Add(new PersonalizedGreetingsDataTable(ds.Tables["PersonalizedGreetings"]));
                }
                if ((ds.Tables["Providers"] != null)) {
                    base.Tables.Add(new ProvidersDataTable(ds.Tables["Providers"]));
                }
                if ((ds.Tables["ScriptSchedules"] != null)) {
                    base.Tables.Add(new ScriptSchedulesDataTable(ds.Tables["ScriptSchedules"]));
                }
                this.DataSetName = ds.DataSetName;
                this.Prefix = ds.Prefix;
                this.Namespace = ds.Namespace;
                this.Locale = ds.Locale;
                this.CaseSensitive = ds.CaseSensitive;
                this.EnforceConstraints = ds.EnforceConstraints;
                this.Merge(ds, false, global::System.Data.MissingSchemaAction.Add);
                this.InitVars();
            }
            else {
                this.ReadXmlSchema(new global::System.Xml.XmlTextReader(new global::System.IO.StringReader(strSchema)));
            }
            this.GetSerializationData(info, context);
            global::System.ComponentModel.CollectionChangeEventHandler schemaChangedHandler = new global::System.ComponentModel.CollectionChangeEventHandler(this.SchemaChanged);
            base.Tables.CollectionChanged += schemaChangedHandler;
            this.Relations.CollectionChanged += schemaChangedHandler;
        }
        
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
        [global::System.ComponentModel.Browsable(false)]
        [global::System.ComponentModel.DesignerSerializationVisibility(global::System.ComponentModel.DesignerSerializationVisibility.Content)]
        public GreetingsDataTable Greetings {
            get {
                return this.tableGreetings;
            }
        }
        
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
        [global::System.ComponentModel.Browsable(false)]
        [global::System.ComponentModel.DesignerSerializationVisibility(global::System.ComponentModel.DesignerSerializationVisibility.Content)]
        public LocalizedGreetingsDataTable LocalizedGreetings {
            get {
                return this.tableLocalizedGreetings;
            }
        }
        
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
        [global::System.ComponentModel.Browsable(false)]
        [global::System.ComponentModel.DesignerSerializationVisibility(global::System.ComponentModel.DesignerSerializationVisibility.Content)]
        public CallHistoryDataTable CallHistory {
            get {
                return this.tableCallHistory;
            }
        }
        
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
        [global::System.ComponentModel.Browsable(false)]
        [global::System.ComponentModel.DesignerSerializationVisibility(global::System.ComponentModel.DesignerSerializationVisibility.Content)]
        public DepartmentsDataTable Departments {
            get {
                return this.tableDepartments;
            }
        }
        
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
        [global::System.ComponentModel.Browsable(false)]
        [global::System.ComponentModel.DesignerSerializationVisibility(global::System.ComponentModel.DesignerSerializationVisibility.Content)]
        public ExtensionsDataTable Extensions {
            get {
                return this.tableExtensions;
            }
        }
        
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
        [global::System.ComponentModel.Browsable(false)]
        [global::System.ComponentModel.DesignerSerializationVisibility(global::System.ComponentModel.DesignerSerializationVisibility.Content)]
        public ExtensionContactNumbersDataTable ExtensionContactNumbers {
            get {
                return this.tableExtensionContactNumbers;
            }
        }
        
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
        [global::System.ComponentModel.Browsable(false)]
        [global::System.ComponentModel.DesignerSerializationVisibility(global::System.ComponentModel.DesignerSerializationVisibility.Content)]
        public VoicemailsDataTable Voicemails {
            get {
                return this.tableVoicemails;
            }
        }
        
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
        [global::System.ComponentModel.Browsable(false)]
        [global::System.ComponentModel.DesignerSerializationVisibility(global::System.ComponentModel.DesignerSerializationVisibility.Content)]
        public PersonalizedGreetingsDataTable PersonalizedGreetings {
            get {
                return this.tablePersonalizedGreetings;
            }
        }
        
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
        [global::System.ComponentModel.Browsable(false)]
        [global::System.ComponentModel.DesignerSerializationVisibility(global::System.ComponentModel.DesignerSerializationVisibility.Content)]
        public ProvidersDataTable Providers {
            get {
                return this.tableProviders;
            }
        }
        
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
        [global::System.ComponentModel.Browsable(false)]
        [global::System.ComponentModel.DesignerSerializationVisibility(global::System.ComponentModel.DesignerSerializationVisibility.Content)]
        public ScriptSchedulesDataTable ScriptSchedules {
            get {
                return this.tableScriptSchedules;
            }
        }
        
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
        [global::System.ComponentModel.BrowsableAttribute(true)]
        [global::System.ComponentModel.DesignerSerializationVisibilityAttribute(global::System.ComponentModel.DesignerSerializationVisibility.Visible)]
        public override global::System.Data.SchemaSerializationMode SchemaSerializationMode {
            get {
                return this._schemaSerializationMode;
            }
            set {
                this._schemaSerializationMode = value;
            }
        }
        
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
        [global::System.ComponentModel.DesignerSerializationVisibilityAttribute(global::System.ComponentModel.DesignerSerializationVisibility.Hidden)]
        public new global::System.Data.DataTableCollection Tables {
            get {
                return base.Tables;
            }
        }
        
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
        [global::System.ComponentModel.DesignerSerializationVisibilityAttribute(global::System.ComponentModel.DesignerSerializationVisibility.Hidden)]
        public new global::System.Data.DataRelationCollection Relations {
            get {
                return base.Relations;
            }
        }
        
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
        protected override void InitializeDerivedDataSet() {
            this.BeginInit();
            this.InitClass();
            this.EndInit();
        }
        
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
        public override global::System.Data.DataSet Clone() {
            CallButlerDataset cln = ((CallButlerDataset)(base.Clone()));
            cln.InitVars();
            cln.SchemaSerializationMode = this.SchemaSerializationMode;
            return cln;
        }
        
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
        protected override bool ShouldSerializeTables() {
            return false;
        }
        
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
        protected override bool ShouldSerializeRelations() {
            return false;
        }
        
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
        protected override void ReadXmlSerializable(global::System.Xml.XmlReader reader) {
            if ((this.DetermineSchemaSerializationMode(reader) == global::System.Data.SchemaSerializationMode.IncludeSchema)) {
                this.Reset();
                global::System.Data.DataSet ds = new global::System.Data.DataSet();
                ds.ReadXml(reader);
                if ((ds.Tables["Greetings"] != null)) {
                    base.Tables.Add(new GreetingsDataTable(ds.Tables["Greetings"]));
                }
                if ((ds.Tables["LocalizedGreetings"] != null)) {
                    base.Tables.Add(new LocalizedGreetingsDataTable(ds.Tables["LocalizedGreetings"]));
                }
                if ((ds.Tables["CallHistory"] != null)) {
                    base.Tables.Add(new CallHistoryDataTable(ds.Tables["CallHistory"]));
                }
                if ((ds.Tables["Departments"] != null)) {
                    base.Tables.Add(new DepartmentsDataTable(ds.Tables["Departments"]));
                }
                if ((ds.Tables["Extensions"] != null)) {
                    base.Tables.Add(new ExtensionsDataTable(ds.Tables["Extensions"]));
                }
                if ((ds.Tables["ExtensionContactNumbers"] != null)) {
                    base.Tables.Add(new ExtensionContactNumbersDataTable(ds.Tables["ExtensionContactNumbers"]));
                }
                if ((ds.Tables["Voicemails"] != null)) {
                    base.Tables.Add(new VoicemailsDataTable(ds.Tables["Voicemails"]));
                }
                if ((ds.Tables["PersonalizedGreetings"] != null)) {
                    base.Tables.Add(new PersonalizedGreetingsDataTable(ds.Tables["PersonalizedGreetings"]));
                }
                if ((ds.Tables["Providers"] != null)) {
                    base.Tables.Add(new ProvidersDataTable(ds.Tables["Providers"]));
                }
                if ((ds.Tables["ScriptSchedules"] != null)) {
                    base.Tables.Add(new ScriptSchedulesDataTable(ds.Tables["ScriptSchedules"]));
                }
                this.DataSetName = ds.DataSetName;
                this.Prefix = ds.Prefix;
                this.Namespace = ds.Namespace;
                this.Locale = ds.Locale;
                this.CaseSensitive = ds.CaseSensitive;
                this.EnforceConstraints = ds.EnforceConstraints;
                this.Merge(ds, false, global::System.Data.MissingSchemaAction.Add);
                this.InitVars();
            }
            else {
                this.ReadXml(reader);
                this.InitVars();
            }
        }
        
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
        protected override global::System.Xml.Schema.XmlSchema GetSchemaSerializable() {
            global::System.IO.MemoryStream stream = new global::System.IO.MemoryStream();
            this.WriteXmlSchema(new global::System.Xml.XmlTextWriter(stream, null));
            stream.Position = 0;
            return global::System.Xml.Schema.XmlSchema.Read(new global::System.Xml.XmlTextReader(stream), null);
        }
        
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
        internal void InitVars() {
            this.InitVars(true);
        }
        
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
        internal void InitVars(bool initTable) {
            this.tableGreetings = ((GreetingsDataTable)(base.Tables["Greetings"]));
            if ((initTable == true)) {
                if ((this.tableGreetings != null)) {
                    this.tableGreetings.InitVars();
                }
            }
            this.tableLocalizedGreetings = ((LocalizedGreetingsDataTable)(base.Tables["LocalizedGreetings"]));
            if ((initTable == true)) {
                if ((this.tableLocalizedGreetings != null)) {
                    this.tableLocalizedGreetings.InitVars();
                }
            }
            this.tableCallHistory = ((CallHistoryDataTable)(base.Tables["CallHistory"]));
            if ((initTable == true)) {
                if ((this.tableCallHistory != null)) {
                    this.tableCallHistory.InitVars();
                }
            }
            this.tableDepartments = ((DepartmentsDataTable)(base.Tables["Departments"]));
            if ((initTable == true)) {
                if ((this.tableDepartments != null)) {
                    this.tableDepartments.InitVars();
                }
            }
            this.tableExtensions = ((ExtensionsDataTable)(base.Tables["Extensions"]));
            if ((initTable == true)) {
                if ((this.tableExtensions != null)) {
                    this.tableExtensions.InitVars();
                }
            }
            this.tableExtensionContactNumbers = ((ExtensionContactNumbersDataTable)(base.Tables["ExtensionContactNumbers"]));
            if ((initTable == true)) {
                if ((this.tableExtensionContactNumbers != null)) {
                    this.tableExtensionContactNumbers.InitVars();
                }
            }
            this.tableVoicemails = ((VoicemailsDataTable)(base.Tables["Voicemails"]));
            if ((initTable == true)) {
                if ((this.tableVoicemails != null)) {
                    this.tableVoicemails.InitVars();
                }
            }
            this.tablePersonalizedGreetings = ((PersonalizedGreetingsDataTable)(base.Tables["PersonalizedGreetings"]));
            if ((initTable == true)) {
                if ((this.tablePersonalizedGreetings != null)) {
                    this.tablePersonalizedGreetings.InitVars();
                }
            }
            this.tableProviders = ((ProvidersDataTable)(base.Tables["Providers"]));
            if ((initTable == true)) {
                if ((this.tableProviders != null)) {
                    this.tableProviders.InitVars();
                }
            }
            this.tableScriptSchedules = ((ScriptSchedulesDataTable)(base.Tables["ScriptSchedules"]));
            if ((initTable == true)) {
                if ((this.tableScriptSchedules != null)) {
                    this.tableScriptSchedules.InitVars();
                }
            }
            this.relationFK_Greetings_LocalizedGreetings = this.Relations["FK_Greetings_LocalizedGreetings"];
            this.relationFK_Extensions_ExtensionContactNumbers = this.Relations["FK_Extensions_ExtensionContactNumbers"];
            this.relationFK_Extensions_Voicemails = this.Relations["FK_Extensions_Voicemails"];
        }
        
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
        private void InitClass() {
            this.DataSetName = "CallButlerDataset";
            this.Prefix = "";
            this.Namespace = "http://www.worksoutsoft.com/Schemas/CallButlerDataset.xsd";
            this.EnforceConstraints = true;
            this.SchemaSerializationMode = global::System.Data.SchemaSerializationMode.IncludeSchema;
            this.tableGreetings = new GreetingsDataTable();
            base.Tables.Add(this.tableGreetings);
            this.tableLocalizedGreetings = new LocalizedGreetingsDataTable();
            base.Tables.Add(this.tableLocalizedGreetings);
            this.tableCallHistory = new CallHistoryDataTable();
            base.Tables.Add(this.tableCallHistory);
            this.tableDepartments = new DepartmentsDataTable();
            base.Tables.Add(this.tableDepartments);
            this.tableExtensions = new ExtensionsDataTable();
            base.Tables.Add(this.tableExtensions);
            this.tableExtensionContactNumbers = new ExtensionContactNumbersDataTable();
            base.Tables.Add(this.tableExtensionContactNumbers);
            this.tableVoicemails = new VoicemailsDataTable();
            base.Tables.Add(this.tableVoicemails);
            this.tablePersonalizedGreetings = new PersonalizedGreetingsDataTable();
            base.Tables.Add(this.tablePersonalizedGreetings);
            this.tableProviders = new ProvidersDataTable();
            base.Tables.Add(this.tableProviders);
            this.tableScriptSchedules = new ScriptSchedulesDataTable();
            base.Tables.Add(this.tableScriptSchedules);
            global::System.Data.ForeignKeyConstraint fkc;
            fkc = new global::System.Data.ForeignKeyConstraint("FK_Greetings_LocalizedGreetings", new global::System.Data.DataColumn[] {
                        this.tableGreetings.GreetingIDColumn}, new global::System.Data.DataColumn[] {
                        this.tableLocalizedGreetings.GreetingIDColumn});
            this.tableLocalizedGreetings.Constraints.Add(fkc);
            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
            fkc.DeleteRule = global::System.Data.Rule.Cascade;
            fkc.UpdateRule = global::System.Data.Rule.Cascade;
            fkc = new global::System.Data.ForeignKeyConstraint("FK_Extensions_ExtensionContactNumbers", new global::System.Data.DataColumn[] {
                        this.tableExtensions.ExtensionIDColumn}, new global::System.Data.DataColumn[] {
                        this.tableExtensionContactNumbers.ExtensionIDColumn});
            this.tableExtensionContactNumbers.Constraints.Add(fkc);
            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
            fkc.DeleteRule = global::System.Data.Rule.Cascade;
            fkc.UpdateRule = global::System.Data.Rule.Cascade;
            fkc = new global::System.Data.ForeignKeyConstraint("FK_Extensions_Voicemails", new global::System.Data.DataColumn[] {
                        this.tableExtensions.ExtensionIDColumn}, new global::System.Data.DataColumn[] {
                        this.tableVoicemails.ExtensionIDColumn});
            this.tableVoicemails.Constraints.Add(fkc);
            fkc.AcceptRejectRule = global::System.Data.AcceptRejectRule.None;
            fkc.DeleteRule = global::System.Data.Rule.Cascade;
            fkc.UpdateRule = global::System.Data.Rule.Cascade;
            this.relationFK_Greetings_LocalizedGreetings = new global::System.Data.DataRelation("FK_Greetings_LocalizedGreetings", new global::System.Data.DataColumn[] {
                        this.tableGreetings.GreetingIDColumn}, new global::System.Data.DataColumn[] {
                        this.tableLocalizedGreetings.GreetingIDColumn}, false);
            this.relationFK_Greetings_LocalizedGreetings.Nested = true;
            this.Relations.Add(this.relationFK_Greetings_LocalizedGreetings);
            this.relationFK_Extensions_ExtensionContactNumbers = new global::System.Data.DataRelation("FK_Extensions_ExtensionContactNumbers", new global::System.Data.DataColumn[] {
                        this.tableExtensions.ExtensionIDColumn}, new global::System.Data.DataColumn[] {
                        this.tableExtensionContactNumbers.ExtensionIDColumn}, false);
            this.relationFK_Extensions_ExtensionContactNumbers.Nested = true;
            this.Relations.Add(this.relationFK_Extensions_ExtensionContactNumbers);
            this.relationFK_Extensions_Voicemails = new global::System.Data.DataRelation("FK_Extensions_Voicemails", new global::System.Data.DataColumn[] {
                        this.tableExtensions.ExtensionIDColumn}, new global::System.Data.DataColumn[] {
                        this.tableVoicemails.ExtensionIDColumn}, false);
            this.relationFK_Extensions_Voicemails.Nested = true;
            this.Relations.Add(this.relationFK_Extensions_Voicemails);
        }
        
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
        private bool ShouldSerializeGreetings() {
            return false;
        }
        
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
        private bool ShouldSerializeLocalizedGreetings() {
            return false;
        }
        
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
        private bool ShouldSerializeCallHistory() {
            return false;
        }
        
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
        private bool ShouldSerializeDepartments() {
            return false;
        }
        
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
        private bool ShouldSerializeExtensions() {
            return false;
        }
        
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
        private bool ShouldSerializeExtensionContactNumbers() {
            return false;
        }
        
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
        private bool ShouldSerializeVoicemails() {
            return false;
        }
        
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
        private bool ShouldSerializePersonalizedGreetings() {
            return false;
        }
        
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
        private bool ShouldSerializeProviders() {
            return false;
        }
        
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
        private bool ShouldSerializeScriptSchedules() {
            return false;
        }
        
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
        private void SchemaChanged(object sender, global::System.ComponentModel.CollectionChangeEventArgs e) {
            if ((e.Action == global::System.ComponentModel.CollectionChangeAction.Remove)) {
                this.InitVars();
            }
        }
        
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
        public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedDataSetSchema(global::System.Xml.Schema.XmlSchemaSet xs) {
            CallButlerDataset ds = new CallButlerDataset();
            global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType();
            global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence();
            global::System.Xml.Schema.XmlSchemaAny any = new global::System.Xml.Schema.XmlSchemaAny();
            any.Namespace = ds.Namespace;
            sequence.Items.Add(any);
            type.Particle = sequence;
            global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable();
            if (xs.Contains(dsSchema.TargetNamespace)) {
                global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream();
                global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream();
                try {
                    global::System.Xml.Schema.XmlSchema schema = null;
                    dsSchema.Write(s1);
                    for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) {
                        schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current));
                        s2.SetLength(0);
                        schema.Write(s2);
                        if ((s1.Length == s2.Length)) {
                            s1.Position = 0;
                            s2.Position = 0;
                            for (; ((s1.Position != s1.Length) 
                                        && (s1.ReadByte() == s2.ReadByte())); ) {
                                ;
                            }
                            if ((s1.Position == s1.Length)) {
                                return type;
                            }
                        }
                    }
                }
                finally {
                    if ((s1 != null)) {
                        s1.Close();
                    }
                    if ((s2 != null)) {
                        s2.Close();
                    }
                }
            }
            xs.Add(dsSchema);
            return type;
        }
        
        public delegate void GreetingsRowChangeEventHandler(object sender, GreetingsRowChangeEvent e);
        
        public delegate void LocalizedGreetingsRowChangeEventHandler(object sender, LocalizedGreetingsRowChangeEvent e);
        
        public delegate void CallHistoryRowChangeEventHandler(object sender, CallHistoryRowChangeEvent e);
        
        public delegate void DepartmentsRowChangeEventHandler(object sender, DepartmentsRowChangeEvent e);
        
        public delegate void ExtensionsRowChangeEventHandler(object sender, ExtensionsRowChangeEvent e);
        
        public delegate void ExtensionContactNumbersRowChangeEventHandler(object sender, ExtensionContactNumbersRowChangeEvent e);
        
        public delegate void VoicemailsRowChangeEventHandler(object sender, VoicemailsRowChangeEvent e);
        
        public delegate void PersonalizedGreetingsRowChangeEventHandler(object sender, PersonalizedGreetingsRowChangeEvent e);
        
        public delegate void ProvidersRowChangeEventHandler(object sender, ProvidersRowChangeEvent e);
        
        public delegate void ScriptSchedulesRowChangeEventHandler(object sender, ScriptSchedulesRowChangeEvent e);
        
        /// <summary>
        ///Represents the strongly named DataTable class.
        ///</summary>
        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
        [global::System.Serializable()]
        [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")]
        public partial class GreetingsDataTable : global::System.Data.DataTable, global::System.Collections.IEnumerable {
            
            private global::System.Data.DataColumn columnCustomerID;
            
            private global::System.Data.DataColumn columnGreetingID;
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public GreetingsDataTable() {
                this.TableName = "Greetings";
                this.BeginInit();
                this.InitClass();
                this.EndInit();
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            internal GreetingsDataTable(global::System.Data.DataTable table) {
                this.TableName = table.TableName;
                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
                    this.CaseSensitive = table.CaseSensitive;
                }
                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
                    this.Locale = table.Locale;
                }
                if ((table.Namespace != table.DataSet.Namespace)) {
                    this.Namespace = table.Namespace;
                }
                this.Prefix = table.Prefix;
                this.MinimumCapacity = table.MinimumCapacity;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected GreetingsDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : 
                    base(info, context) {
                this.InitVars();
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn CustomerIDColumn {
                get {
                    return this.columnCustomerID;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn GreetingIDColumn {
                get {
                    return this.columnGreetingID;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            [global::System.ComponentModel.Browsable(false)]
            public int Count {
                get {
                    return this.Rows.Count;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public GreetingsRow this[int index] {
                get {
                    return ((GreetingsRow)(this.Rows[index]));
                }
            }
            
            public event GreetingsRowChangeEventHandler GreetingsRowChanging;
            
            public event GreetingsRowChangeEventHandler GreetingsRowChanged;
            
            public event GreetingsRowChangeEventHandler GreetingsRowDeleting;
            
            public event GreetingsRowChangeEventHandler GreetingsRowDeleted;
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void AddGreetingsRow(GreetingsRow row) {
                this.Rows.Add(row);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public GreetingsRow AddGreetingsRow(int CustomerID, System.Guid GreetingID) {
                GreetingsRow rowGreetingsRow = ((GreetingsRow)(this.NewRow()));
                object[] columnValuesArray = new object[] {
                        CustomerID,
                        GreetingID};
                rowGreetingsRow.ItemArray = columnValuesArray;
                this.Rows.Add(rowGreetingsRow);
                return rowGreetingsRow;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public GreetingsRow FindByGreetingID(System.Guid GreetingID) {
                return ((GreetingsRow)(this.Rows.Find(new object[] {
                            GreetingID})));
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public virtual global::System.Collections.IEnumerator GetEnumerator() {
                return this.Rows.GetEnumerator();
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public override global::System.Data.DataTable Clone() {
                GreetingsDataTable cln = ((GreetingsDataTable)(base.Clone()));
                cln.InitVars();
                return cln;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override global::System.Data.DataTable CreateInstance() {
                return new GreetingsDataTable();
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            internal void InitVars() {
                this.columnCustomerID = base.Columns["CustomerID"];
                this.columnGreetingID = base.Columns["GreetingID"];
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            private void InitClass() {
                this.columnCustomerID = new global::System.Data.DataColumn("CustomerID", typeof(int), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnCustomerID);
                this.columnGreetingID = new global::System.Data.DataColumn("GreetingID", typeof(global::System.Guid), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnGreetingID);
                this.Constraints.Add(new global::System.Data.UniqueConstraint("Constraint1", new global::System.Data.DataColumn[] {
                                this.columnGreetingID}, true));
                this.columnCustomerID.AllowDBNull = false;
                this.columnGreetingID.AllowDBNull = false;
                this.columnGreetingID.Unique = true;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public GreetingsRow NewGreetingsRow() {
                return ((GreetingsRow)(this.NewRow()));
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override global::System.Data.DataRow NewRowFromBuilder(global::System.Data.DataRowBuilder builder) {
                return new GreetingsRow(builder);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override global::System.Type GetRowType() {
                return typeof(GreetingsRow);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override void OnRowChanged(global::System.Data.DataRowChangeEventArgs e) {
                base.OnRowChanged(e);
                if ((this.GreetingsRowChanged != null)) {
                    this.GreetingsRowChanged(this, new GreetingsRowChangeEvent(((GreetingsRow)(e.Row)), e.Action));
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override void OnRowChanging(global::System.Data.DataRowChangeEventArgs e) {
                base.OnRowChanging(e);
                if ((this.GreetingsRowChanging != null)) {
                    this.GreetingsRowChanging(this, new GreetingsRowChangeEvent(((GreetingsRow)(e.Row)), e.Action));
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override void OnRowDeleted(global::System.Data.DataRowChangeEventArgs e) {
                base.OnRowDeleted(e);
                if ((this.GreetingsRowDeleted != null)) {
                    this.GreetingsRowDeleted(this, new GreetingsRowChangeEvent(((GreetingsRow)(e.Row)), e.Action));
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override void OnRowDeleting(global::System.Data.DataRowChangeEventArgs e) {
                base.OnRowDeleting(e);
                if ((this.GreetingsRowDeleting != null)) {
                    this.GreetingsRowDeleting(this, new GreetingsRowChangeEvent(((GreetingsRow)(e.Row)), e.Action));
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void RemoveGreetingsRow(GreetingsRow row) {
                this.Rows.Remove(row);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) {
                global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType();
                global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence();
                CallButlerDataset ds = new CallButlerDataset();
                global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny();
                any1.Namespace = "http://www.w3.org/2001/XMLSchema";
                any1.MinOccurs = new decimal(0);
                any1.MaxOccurs = decimal.MaxValue;
                any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
                sequence.Items.Add(any1);
                global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny();
                any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1";
                any2.MinOccurs = new decimal(1);
                any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
                sequence.Items.Add(any2);
                global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute();
                attribute1.Name = "namespace";
                attribute1.FixedValue = ds.Namespace;
                type.Attributes.Add(attribute1);
                global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute();
                attribute2.Name = "tableTypeName";
                attribute2.FixedValue = "GreetingsDataTable";
                type.Attributes.Add(attribute2);
                type.Particle = sequence;
                global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable();
                if (xs.Contains(dsSchema.TargetNamespace)) {
                    global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream();
                    global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream();
                    try {
                        global::System.Xml.Schema.XmlSchema schema = null;
                        dsSchema.Write(s1);
                        for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) {
                            schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current));
                            s2.SetLength(0);
                            schema.Write(s2);
                            if ((s1.Length == s2.Length)) {
                                s1.Position = 0;
                                s2.Position = 0;
                                for (; ((s1.Position != s1.Length) 
                                            && (s1.ReadByte() == s2.ReadByte())); ) {
                                    ;
                                }
                                if ((s1.Position == s1.Length)) {
                                    return type;
                                }
                            }
                        }
                    }
                    finally {
                        if ((s1 != null)) {
                            s1.Close();
                        }
                        if ((s2 != null)) {
                            s2.Close();
                        }
                    }
                }
                xs.Add(dsSchema);
                return type;
            }
        }
        
        /// <summary>
        ///Represents the strongly named DataTable class.
        ///</summary>
        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
        [global::System.Serializable()]
        [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")]
        public partial class LocalizedGreetingsDataTable : global::System.Data.DataTable, global::System.Collections.IEnumerable {
            
            private global::System.Data.DataColumn columnGreetingID;
            
            private global::System.Data.DataColumn columnLocalizedGreetingID;
            
            private global::System.Data.DataColumn columnData;
            
            private global::System.Data.DataColumn columnVoice;
            
            private global::System.Data.DataColumn columnLanguageID;
            
            private global::System.Data.DataColumn columnType;
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public LocalizedGreetingsDataTable() {
                this.TableName = "LocalizedGreetings";
                this.BeginInit();
                this.InitClass();
                this.EndInit();
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            internal LocalizedGreetingsDataTable(global::System.Data.DataTable table) {
                this.TableName = table.TableName;
                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
                    this.CaseSensitive = table.CaseSensitive;
                }
                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
                    this.Locale = table.Locale;
                }
                if ((table.Namespace != table.DataSet.Namespace)) {
                    this.Namespace = table.Namespace;
                }
                this.Prefix = table.Prefix;
                this.MinimumCapacity = table.MinimumCapacity;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected LocalizedGreetingsDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : 
                    base(info, context) {
                this.InitVars();
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn GreetingIDColumn {
                get {
                    return this.columnGreetingID;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn LocalizedGreetingIDColumn {
                get {
                    return this.columnLocalizedGreetingID;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn DataColumn {
                get {
                    return this.columnData;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn VoiceColumn {
                get {
                    return this.columnVoice;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn LanguageIDColumn {
                get {
                    return this.columnLanguageID;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn TypeColumn {
                get {
                    return this.columnType;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            [global::System.ComponentModel.Browsable(false)]
            public int Count {
                get {
                    return this.Rows.Count;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public LocalizedGreetingsRow this[int index] {
                get {
                    return ((LocalizedGreetingsRow)(this.Rows[index]));
                }
            }
            
            public event LocalizedGreetingsRowChangeEventHandler LocalizedGreetingsRowChanging;
            
            public event LocalizedGreetingsRowChangeEventHandler LocalizedGreetingsRowChanged;
            
            public event LocalizedGreetingsRowChangeEventHandler LocalizedGreetingsRowDeleting;
            
            public event LocalizedGreetingsRowChangeEventHandler LocalizedGreetingsRowDeleted;
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void AddLocalizedGreetingsRow(LocalizedGreetingsRow row) {
                this.Rows.Add(row);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public LocalizedGreetingsRow AddLocalizedGreetingsRow(GreetingsRow parentGreetingsRowByFK_Greetings_LocalizedGreetings, System.Guid LocalizedGreetingID, string Data, string Voice, string LanguageID, short Type) {
                LocalizedGreetingsRow rowLocalizedGreetingsRow = ((LocalizedGreetingsRow)(this.NewRow()));
                object[] columnValuesArray = new object[] {
                        null,
                        LocalizedGreetingID,
                        Data,
                        Voice,
                        LanguageID,
                        Type};
                if ((parentGreetingsRowByFK_Greetings_LocalizedGreetings != null)) {
                    columnValuesArray[0] = parentGreetingsRowByFK_Greetings_LocalizedGreetings[1];
                }
                rowLocalizedGreetingsRow.ItemArray = columnValuesArray;
                this.Rows.Add(rowLocalizedGreetingsRow);
                return rowLocalizedGreetingsRow;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public LocalizedGreetingsRow FindByLocalizedGreetingID(System.Guid LocalizedGreetingID) {
                return ((LocalizedGreetingsRow)(this.Rows.Find(new object[] {
                            LocalizedGreetingID})));
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public virtual global::System.Collections.IEnumerator GetEnumerator() {
                return this.Rows.GetEnumerator();
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public override global::System.Data.DataTable Clone() {
                LocalizedGreetingsDataTable cln = ((LocalizedGreetingsDataTable)(base.Clone()));
                cln.InitVars();
                return cln;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override global::System.Data.DataTable CreateInstance() {
                return new LocalizedGreetingsDataTable();
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            internal void InitVars() {
                this.columnGreetingID = base.Columns["GreetingID"];
                this.columnLocalizedGreetingID = base.Columns["LocalizedGreetingID"];
                this.columnData = base.Columns["Data"];
                this.columnVoice = base.Columns["Voice"];
                this.columnLanguageID = base.Columns["LanguageID"];
                this.columnType = base.Columns["Type"];
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            private void InitClass() {
                this.columnGreetingID = new global::System.Data.DataColumn("GreetingID", typeof(global::System.Guid), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnGreetingID);
                this.columnLocalizedGreetingID = new global::System.Data.DataColumn("LocalizedGreetingID", typeof(global::System.Guid), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnLocalizedGreetingID);
                this.columnData = new global::System.Data.DataColumn("Data", typeof(string), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnData);
                this.columnVoice = new global::System.Data.DataColumn("Voice", typeof(string), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnVoice);
                this.columnLanguageID = new global::System.Data.DataColumn("LanguageID", typeof(string), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnLanguageID);
                this.columnType = new global::System.Data.DataColumn("Type", typeof(short), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnType);
                this.Constraints.Add(new global::System.Data.UniqueConstraint("Constraint1", new global::System.Data.DataColumn[] {
                                this.columnLocalizedGreetingID}, true));
                this.columnLocalizedGreetingID.AllowDBNull = false;
                this.columnLocalizedGreetingID.Unique = true;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public LocalizedGreetingsRow NewLocalizedGreetingsRow() {
                return ((LocalizedGreetingsRow)(this.NewRow()));
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override global::System.Data.DataRow NewRowFromBuilder(global::System.Data.DataRowBuilder builder) {
                return new LocalizedGreetingsRow(builder);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override global::System.Type GetRowType() {
                return typeof(LocalizedGreetingsRow);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override void OnRowChanged(global::System.Data.DataRowChangeEventArgs e) {
                base.OnRowChanged(e);
                if ((this.LocalizedGreetingsRowChanged != null)) {
                    this.LocalizedGreetingsRowChanged(this, new LocalizedGreetingsRowChangeEvent(((LocalizedGreetingsRow)(e.Row)), e.Action));
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override void OnRowChanging(global::System.Data.DataRowChangeEventArgs e) {
                base.OnRowChanging(e);
                if ((this.LocalizedGreetingsRowChanging != null)) {
                    this.LocalizedGreetingsRowChanging(this, new LocalizedGreetingsRowChangeEvent(((LocalizedGreetingsRow)(e.Row)), e.Action));
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override void OnRowDeleted(global::System.Data.DataRowChangeEventArgs e) {
                base.OnRowDeleted(e);
                if ((this.LocalizedGreetingsRowDeleted != null)) {
                    this.LocalizedGreetingsRowDeleted(this, new LocalizedGreetingsRowChangeEvent(((LocalizedGreetingsRow)(e.Row)), e.Action));
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override void OnRowDeleting(global::System.Data.DataRowChangeEventArgs e) {
                base.OnRowDeleting(e);
                if ((this.LocalizedGreetingsRowDeleting != null)) {
                    this.LocalizedGreetingsRowDeleting(this, new LocalizedGreetingsRowChangeEvent(((LocalizedGreetingsRow)(e.Row)), e.Action));
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void RemoveLocalizedGreetingsRow(LocalizedGreetingsRow row) {
                this.Rows.Remove(row);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) {
                global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType();
                global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence();
                CallButlerDataset ds = new CallButlerDataset();
                global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny();
                any1.Namespace = "http://www.w3.org/2001/XMLSchema";
                any1.MinOccurs = new decimal(0);
                any1.MaxOccurs = decimal.MaxValue;
                any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
                sequence.Items.Add(any1);
                global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny();
                any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1";
                any2.MinOccurs = new decimal(1);
                any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
                sequence.Items.Add(any2);
                global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute();
                attribute1.Name = "namespace";
                attribute1.FixedValue = ds.Namespace;
                type.Attributes.Add(attribute1);
                global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute();
                attribute2.Name = "tableTypeName";
                attribute2.FixedValue = "LocalizedGreetingsDataTable";
                type.Attributes.Add(attribute2);
                type.Particle = sequence;
                global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable();
                if (xs.Contains(dsSchema.TargetNamespace)) {
                    global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream();
                    global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream();
                    try {
                        global::System.Xml.Schema.XmlSchema schema = null;
                        dsSchema.Write(s1);
                        for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) {
                            schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current));
                            s2.SetLength(0);
                            schema.Write(s2);
                            if ((s1.Length == s2.Length)) {
                                s1.Position = 0;
                                s2.Position = 0;
                                for (; ((s1.Position != s1.Length) 
                                            && (s1.ReadByte() == s2.ReadByte())); ) {
                                    ;
                                }
                                if ((s1.Position == s1.Length)) {
                                    return type;
                                }
                            }
                        }
                    }
                    finally {
                        if ((s1 != null)) {
                            s1.Close();
                        }
                        if ((s2 != null)) {
                            s2.Close();
                        }
                    }
                }
                xs.Add(dsSchema);
                return type;
            }
        }
        
        /// <summary>
        ///Represents the strongly named DataTable class.
        ///</summary>
        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
        [global::System.Serializable()]
        [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")]
        public partial class CallHistoryDataTable : global::System.Data.DataTable, global::System.Collections.IEnumerable {
            
            private global::System.Data.DataColumn columnCustomerID;
            
            private global::System.Data.DataColumn columnCallID;
            
            private global::System.Data.DataColumn columnTimestamp;
            
            private global::System.Data.DataColumn columnCallerDisplayName;
            
            private global::System.Data.DataColumn columnCallerUsername;
            
            private global::System.Data.DataColumn columnCallerHost;
            
            private global::System.Data.DataColumn columnCallDuration;
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public CallHistoryDataTable() {
                this.TableName = "CallHistory";
                this.BeginInit();
                this.InitClass();
                this.EndInit();
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            internal CallHistoryDataTable(global::System.Data.DataTable table) {
                this.TableName = table.TableName;
                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
                    this.CaseSensitive = table.CaseSensitive;
                }
                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
                    this.Locale = table.Locale;
                }
                if ((table.Namespace != table.DataSet.Namespace)) {
                    this.Namespace = table.Namespace;
                }
                this.Prefix = table.Prefix;
                this.MinimumCapacity = table.MinimumCapacity;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected CallHistoryDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : 
                    base(info, context) {
                this.InitVars();
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn CustomerIDColumn {
                get {
                    return this.columnCustomerID;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn CallIDColumn {
                get {
                    return this.columnCallID;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn TimestampColumn {
                get {
                    return this.columnTimestamp;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn CallerDisplayNameColumn {
                get {
                    return this.columnCallerDisplayName;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn CallerUsernameColumn {
                get {
                    return this.columnCallerUsername;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn CallerHostColumn {
                get {
                    return this.columnCallerHost;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn CallDurationColumn {
                get {
                    return this.columnCallDuration;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            [global::System.ComponentModel.Browsable(false)]
            public int Count {
                get {
                    return this.Rows.Count;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public CallHistoryRow this[int index] {
                get {
                    return ((CallHistoryRow)(this.Rows[index]));
                }
            }
            
            public event CallHistoryRowChangeEventHandler CallHistoryRowChanging;
            
            public event CallHistoryRowChangeEventHandler CallHistoryRowChanged;
            
            public event CallHistoryRowChangeEventHandler CallHistoryRowDeleting;
            
            public event CallHistoryRowChangeEventHandler CallHistoryRowDeleted;
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void AddCallHistoryRow(CallHistoryRow row) {
                this.Rows.Add(row);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public CallHistoryRow AddCallHistoryRow(int CustomerID, System.Guid CallID, System.DateTime Timestamp, string CallerDisplayName, string CallerUsername, string CallerHost, System.TimeSpan CallDuration) {
                CallHistoryRow rowCallHistoryRow = ((CallHistoryRow)(this.NewRow()));
                object[] columnValuesArray = new object[] {
                        CustomerID,
                        CallID,
                        Timestamp,
                        CallerDisplayName,
                        CallerUsername,
                        CallerHost,
                        CallDuration};
                rowCallHistoryRow.ItemArray = columnValuesArray;
                this.Rows.Add(rowCallHistoryRow);
                return rowCallHistoryRow;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public CallHistoryRow FindByCallID(System.Guid CallID) {
                return ((CallHistoryRow)(this.Rows.Find(new object[] {
                            CallID})));
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public virtual global::System.Collections.IEnumerator GetEnumerator() {
                return this.Rows.GetEnumerator();
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public override global::System.Data.DataTable Clone() {
                CallHistoryDataTable cln = ((CallHistoryDataTable)(base.Clone()));
                cln.InitVars();
                return cln;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override global::System.Data.DataTable CreateInstance() {
                return new CallHistoryDataTable();
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            internal void InitVars() {
                this.columnCustomerID = base.Columns["CustomerID"];
                this.columnCallID = base.Columns["CallID"];
                this.columnTimestamp = base.Columns["Timestamp"];
                this.columnCallerDisplayName = base.Columns["CallerDisplayName"];
                this.columnCallerUsername = base.Columns["CallerUsername"];
                this.columnCallerHost = base.Columns["CallerHost"];
                this.columnCallDuration = base.Columns["CallDuration"];
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            private void InitClass() {
                this.columnCustomerID = new global::System.Data.DataColumn("CustomerID", typeof(int), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnCustomerID);
                this.columnCallID = new global::System.Data.DataColumn("CallID", typeof(global::System.Guid), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnCallID);
                this.columnTimestamp = new global::System.Data.DataColumn("Timestamp", typeof(global::System.DateTime), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnTimestamp);
                this.columnCallerDisplayName = new global::System.Data.DataColumn("CallerDisplayName", typeof(string), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnCallerDisplayName);
                this.columnCallerUsername = new global::System.Data.DataColumn("CallerUsername", typeof(string), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnCallerUsername);
                this.columnCallerHost = new global::System.Data.DataColumn("CallerHost", typeof(string), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnCallerHost);
                this.columnCallDuration = new global::System.Data.DataColumn("CallDuration", typeof(global::System.TimeSpan), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnCallDuration);
                this.Constraints.Add(new global::System.Data.UniqueConstraint("Constraint1", new global::System.Data.DataColumn[] {
                                this.columnCallID}, true));
                this.columnCustomerID.AllowDBNull = false;
                this.columnCallID.AllowDBNull = false;
                this.columnCallID.Unique = true;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public CallHistoryRow NewCallHistoryRow() {
                return ((CallHistoryRow)(this.NewRow()));
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override global::System.Data.DataRow NewRowFromBuilder(global::System.Data.DataRowBuilder builder) {
                return new CallHistoryRow(builder);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override global::System.Type GetRowType() {
                return typeof(CallHistoryRow);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override void OnRowChanged(global::System.Data.DataRowChangeEventArgs e) {
                base.OnRowChanged(e);
                if ((this.CallHistoryRowChanged != null)) {
                    this.CallHistoryRowChanged(this, new CallHistoryRowChangeEvent(((CallHistoryRow)(e.Row)), e.Action));
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override void OnRowChanging(global::System.Data.DataRowChangeEventArgs e) {
                base.OnRowChanging(e);
                if ((this.CallHistoryRowChanging != null)) {
                    this.CallHistoryRowChanging(this, new CallHistoryRowChangeEvent(((CallHistoryRow)(e.Row)), e.Action));
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override void OnRowDeleted(global::System.Data.DataRowChangeEventArgs e) {
                base.OnRowDeleted(e);
                if ((this.CallHistoryRowDeleted != null)) {
                    this.CallHistoryRowDeleted(this, new CallHistoryRowChangeEvent(((CallHistoryRow)(e.Row)), e.Action));
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override void OnRowDeleting(global::System.Data.DataRowChangeEventArgs e) {
                base.OnRowDeleting(e);
                if ((this.CallHistoryRowDeleting != null)) {
                    this.CallHistoryRowDeleting(this, new CallHistoryRowChangeEvent(((CallHistoryRow)(e.Row)), e.Action));
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void RemoveCallHistoryRow(CallHistoryRow row) {
                this.Rows.Remove(row);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) {
                global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType();
                global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence();
                CallButlerDataset ds = new CallButlerDataset();
                global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny();
                any1.Namespace = "http://www.w3.org/2001/XMLSchema";
                any1.MinOccurs = new decimal(0);
                any1.MaxOccurs = decimal.MaxValue;
                any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
                sequence.Items.Add(any1);
                global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny();
                any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1";
                any2.MinOccurs = new decimal(1);
                any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
                sequence.Items.Add(any2);
                global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute();
                attribute1.Name = "namespace";
                attribute1.FixedValue = ds.Namespace;
                type.Attributes.Add(attribute1);
                global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute();
                attribute2.Name = "tableTypeName";
                attribute2.FixedValue = "CallHistoryDataTable";
                type.Attributes.Add(attribute2);
                type.Particle = sequence;
                global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable();
                if (xs.Contains(dsSchema.TargetNamespace)) {
                    global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream();
                    global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream();
                    try {
                        global::System.Xml.Schema.XmlSchema schema = null;
                        dsSchema.Write(s1);
                        for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) {
                            schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current));
                            s2.SetLength(0);
                            schema.Write(s2);
                            if ((s1.Length == s2.Length)) {
                                s1.Position = 0;
                                s2.Position = 0;
                                for (; ((s1.Position != s1.Length) 
                                            && (s1.ReadByte() == s2.ReadByte())); ) {
                                    ;
                                }
                                if ((s1.Position == s1.Length)) {
                                    return type;
                                }
                            }
                        }
                    }
                    finally {
                        if ((s1 != null)) {
                            s1.Close();
                        }
                        if ((s2 != null)) {
                            s2.Close();
                        }
                    }
                }
                xs.Add(dsSchema);
                return type;
            }
        }
        
        /// <summary>
        ///Represents the strongly named DataTable class.
        ///</summary>
        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
        [global::System.Serializable()]
        [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")]
        public partial class DepartmentsDataTable : global::System.Data.DataTable, global::System.Collections.IEnumerable {
            
            private global::System.Data.DataColumn columnCustomerID;
            
            private global::System.Data.DataColumn columnDepartmentID;
            
            private global::System.Data.DataColumn columnName;
            
            private global::System.Data.DataColumn columnType;
            
            private global::System.Data.DataColumn columnData1;
            
            private global::System.Data.DataColumn columnData2;
            
            private global::System.Data.DataColumn columnEnabled;
            
            private global::System.Data.DataColumn columnOptionNumber;
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public DepartmentsDataTable() {
                this.TableName = "Departments";
                this.BeginInit();
                this.InitClass();
                this.EndInit();
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            internal DepartmentsDataTable(global::System.Data.DataTable table) {
                this.TableName = table.TableName;
                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
                    this.CaseSensitive = table.CaseSensitive;
                }
                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
                    this.Locale = table.Locale;
                }
                if ((table.Namespace != table.DataSet.Namespace)) {
                    this.Namespace = table.Namespace;
                }
                this.Prefix = table.Prefix;
                this.MinimumCapacity = table.MinimumCapacity;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected DepartmentsDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : 
                    base(info, context) {
                this.InitVars();
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn CustomerIDColumn {
                get {
                    return this.columnCustomerID;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn DepartmentIDColumn {
                get {
                    return this.columnDepartmentID;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn NameColumn {
                get {
                    return this.columnName;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn TypeColumn {
                get {
                    return this.columnType;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn Data1Column {
                get {
                    return this.columnData1;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn Data2Column {
                get {
                    return this.columnData2;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn EnabledColumn {
                get {
                    return this.columnEnabled;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn OptionNumberColumn {
                get {
                    return this.columnOptionNumber;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            [global::System.ComponentModel.Browsable(false)]
            public int Count {
                get {
                    return this.Rows.Count;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public DepartmentsRow this[int index] {
                get {
                    return ((DepartmentsRow)(this.Rows[index]));
                }
            }
            
            public event DepartmentsRowChangeEventHandler DepartmentsRowChanging;
            
            public event DepartmentsRowChangeEventHandler DepartmentsRowChanged;
            
            public event DepartmentsRowChangeEventHandler DepartmentsRowDeleting;
            
            public event DepartmentsRowChangeEventHandler DepartmentsRowDeleted;
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void AddDepartmentsRow(DepartmentsRow row) {
                this.Rows.Add(row);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public DepartmentsRow AddDepartmentsRow(int CustomerID, System.Guid DepartmentID, string Name, short Type, string Data1, string Data2, bool Enabled, int OptionNumber) {
                DepartmentsRow rowDepartmentsRow = ((DepartmentsRow)(this.NewRow()));
                object[] columnValuesArray = new object[] {
                        CustomerID,
                        DepartmentID,
                        Name,
                        Type,
                        Data1,
                        Data2,
                        Enabled,
                        OptionNumber};
                rowDepartmentsRow.ItemArray = columnValuesArray;
                this.Rows.Add(rowDepartmentsRow);
                return rowDepartmentsRow;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public DepartmentsRow FindByDepartmentID(System.Guid DepartmentID) {
                return ((DepartmentsRow)(this.Rows.Find(new object[] {
                            DepartmentID})));
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public virtual global::System.Collections.IEnumerator GetEnumerator() {
                return this.Rows.GetEnumerator();
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public override global::System.Data.DataTable Clone() {
                DepartmentsDataTable cln = ((DepartmentsDataTable)(base.Clone()));
                cln.InitVars();
                return cln;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override global::System.Data.DataTable CreateInstance() {
                return new DepartmentsDataTable();
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            internal void InitVars() {
                this.columnCustomerID = base.Columns["CustomerID"];
                this.columnDepartmentID = base.Columns["DepartmentID"];
                this.columnName = base.Columns["Name"];
                this.columnType = base.Columns["Type"];
                this.columnData1 = base.Columns["Data1"];
                this.columnData2 = base.Columns["Data2"];
                this.columnEnabled = base.Columns["Enabled"];
                this.columnOptionNumber = base.Columns["OptionNumber"];
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            private void InitClass() {
                this.columnCustomerID = new global::System.Data.DataColumn("CustomerID", typeof(int), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnCustomerID);
                this.columnDepartmentID = new global::System.Data.DataColumn("DepartmentID", typeof(global::System.Guid), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnDepartmentID);
                this.columnName = new global::System.Data.DataColumn("Name", typeof(string), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnName);
                this.columnType = new global::System.Data.DataColumn("Type", typeof(short), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnType);
                this.columnData1 = new global::System.Data.DataColumn("Data1", typeof(string), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnData1);
                this.columnData2 = new global::System.Data.DataColumn("Data2", typeof(string), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnData2);
                this.columnEnabled = new global::System.Data.DataColumn("Enabled", typeof(bool), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnEnabled);
                this.columnOptionNumber = new global::System.Data.DataColumn("OptionNumber", typeof(int), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnOptionNumber);
                this.Constraints.Add(new global::System.Data.UniqueConstraint("Constraint1", new global::System.Data.DataColumn[] {
                                this.columnDepartmentID}, true));
                this.columnCustomerID.AllowDBNull = false;
                this.columnDepartmentID.AllowDBNull = false;
                this.columnDepartmentID.Unique = true;
                this.columnEnabled.DefaultValue = ((bool)(true));
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public DepartmentsRow NewDepartmentsRow() {
                return ((DepartmentsRow)(this.NewRow()));
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override global::System.Data.DataRow NewRowFromBuilder(global::System.Data.DataRowBuilder builder) {
                return new DepartmentsRow(builder);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override global::System.Type GetRowType() {
                return typeof(DepartmentsRow);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override void OnRowChanged(global::System.Data.DataRowChangeEventArgs e) {
                base.OnRowChanged(e);
                if ((this.DepartmentsRowChanged != null)) {
                    this.DepartmentsRowChanged(this, new DepartmentsRowChangeEvent(((DepartmentsRow)(e.Row)), e.Action));
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override void OnRowChanging(global::System.Data.DataRowChangeEventArgs e) {
                base.OnRowChanging(e);
                if ((this.DepartmentsRowChanging != null)) {
                    this.DepartmentsRowChanging(this, new DepartmentsRowChangeEvent(((DepartmentsRow)(e.Row)), e.Action));
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override void OnRowDeleted(global::System.Data.DataRowChangeEventArgs e) {
                base.OnRowDeleted(e);
                if ((this.DepartmentsRowDeleted != null)) {
                    this.DepartmentsRowDeleted(this, new DepartmentsRowChangeEvent(((DepartmentsRow)(e.Row)), e.Action));
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override void OnRowDeleting(global::System.Data.DataRowChangeEventArgs e) {
                base.OnRowDeleting(e);
                if ((this.DepartmentsRowDeleting != null)) {
                    this.DepartmentsRowDeleting(this, new DepartmentsRowChangeEvent(((DepartmentsRow)(e.Row)), e.Action));
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void RemoveDepartmentsRow(DepartmentsRow row) {
                this.Rows.Remove(row);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) {
                global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType();
                global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence();
                CallButlerDataset ds = new CallButlerDataset();
                global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny();
                any1.Namespace = "http://www.w3.org/2001/XMLSchema";
                any1.MinOccurs = new decimal(0);
                any1.MaxOccurs = decimal.MaxValue;
                any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
                sequence.Items.Add(any1);
                global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny();
                any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1";
                any2.MinOccurs = new decimal(1);
                any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
                sequence.Items.Add(any2);
                global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute();
                attribute1.Name = "namespace";
                attribute1.FixedValue = ds.Namespace;
                type.Attributes.Add(attribute1);
                global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute();
                attribute2.Name = "tableTypeName";
                attribute2.FixedValue = "DepartmentsDataTable";
                type.Attributes.Add(attribute2);
                type.Particle = sequence;
                global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable();
                if (xs.Contains(dsSchema.TargetNamespace)) {
                    global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream();
                    global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream();
                    try {
                        global::System.Xml.Schema.XmlSchema schema = null;
                        dsSchema.Write(s1);
                        for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) {
                            schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current));
                            s2.SetLength(0);
                            schema.Write(s2);
                            if ((s1.Length == s2.Length)) {
                                s1.Position = 0;
                                s2.Position = 0;
                                for (; ((s1.Position != s1.Length) 
                                            && (s1.ReadByte() == s2.ReadByte())); ) {
                                    ;
                                }
                                if ((s1.Position == s1.Length)) {
                                    return type;
                                }
                            }
                        }
                    }
                    finally {
                        if ((s1 != null)) {
                            s1.Close();
                        }
                        if ((s2 != null)) {
                            s2.Close();
                        }
                    }
                }
                xs.Add(dsSchema);
                return type;
            }
        }
        
        /// <summary>
        ///Represents the strongly named DataTable class.
        ///</summary>
        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
        [global::System.Serializable()]
        [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")]
        public partial class ExtensionsDataTable : global::System.Data.DataTable, global::System.Collections.IEnumerable {
            
            private global::System.Data.DataColumn columnCustomerID;
            
            private global::System.Data.DataColumn columnExtensionID;
            
            private global::System.Data.DataColumn columnExtensionNumber;
            
            private global::System.Data.DataColumn columnFirstName;
            
            private global::System.Data.DataColumn columnLastName;
            
            private global::System.Data.DataColumn columnSearchNumber;
            
            private global::System.Data.DataColumn columnEnableSearch;
            
            private global::System.Data.DataColumn columnPassword;
            
            private global::System.Data.DataColumn columnEnableManagement;
            
            private global::System.Data.DataColumn columnDoNotDisturb;
            
            private global::System.Data.DataColumn columnEmailNotification;
            
            private global::System.Data.DataColumn columnEmailAddress;
            
            private global::System.Data.DataColumn columnEmailAttachment;
            
            private global::System.Data.DataColumn columnAlternativeExtensionID;
            
            private global::System.Data.DataColumn columnUseFindMePlugin;
            
            private global::System.Data.DataColumn columnFindMePluginData;
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public ExtensionsDataTable() {
                this.TableName = "Extensions";
                this.BeginInit();
                this.InitClass();
                this.EndInit();
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            internal ExtensionsDataTable(global::System.Data.DataTable table) {
                this.TableName = table.TableName;
                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
                    this.CaseSensitive = table.CaseSensitive;
                }
                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
                    this.Locale = table.Locale;
                }
                if ((table.Namespace != table.DataSet.Namespace)) {
                    this.Namespace = table.Namespace;
                }
                this.Prefix = table.Prefix;
                this.MinimumCapacity = table.MinimumCapacity;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected ExtensionsDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : 
                    base(info, context) {
                this.InitVars();
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn CustomerIDColumn {
                get {
                    return this.columnCustomerID;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn ExtensionIDColumn {
                get {
                    return this.columnExtensionID;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn ExtensionNumberColumn {
                get {
                    return this.columnExtensionNumber;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn FirstNameColumn {
                get {
                    return this.columnFirstName;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn LastNameColumn {
                get {
                    return this.columnLastName;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn SearchNumberColumn {
                get {
                    return this.columnSearchNumber;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn EnableSearchColumn {
                get {
                    return this.columnEnableSearch;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn PasswordColumn {
                get {
                    return this.columnPassword;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn EnableManagementColumn {
                get {
                    return this.columnEnableManagement;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn DoNotDisturbColumn {
                get {
                    return this.columnDoNotDisturb;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn EmailNotificationColumn {
                get {
                    return this.columnEmailNotification;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn EmailAddressColumn {
                get {
                    return this.columnEmailAddress;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn EmailAttachmentColumn {
                get {
                    return this.columnEmailAttachment;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn AlternativeExtensionIDColumn {
                get {
                    return this.columnAlternativeExtensionID;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn UseFindMePluginColumn {
                get {
                    return this.columnUseFindMePlugin;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn FindMePluginDataColumn {
                get {
                    return this.columnFindMePluginData;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            [global::System.ComponentModel.Browsable(false)]
            public int Count {
                get {
                    return this.Rows.Count;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public ExtensionsRow this[int index] {
                get {
                    return ((ExtensionsRow)(this.Rows[index]));
                }
            }
            
            public event ExtensionsRowChangeEventHandler ExtensionsRowChanging;
            
            public event ExtensionsRowChangeEventHandler ExtensionsRowChanged;
            
            public event ExtensionsRowChangeEventHandler ExtensionsRowDeleting;
            
            public event ExtensionsRowChangeEventHandler ExtensionsRowDeleted;
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void AddExtensionsRow(ExtensionsRow row) {
                this.Rows.Add(row);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public ExtensionsRow AddExtensionsRow(
                        int CustomerID, 
                        System.Guid ExtensionID, 
                        short ExtensionNumber, 
                        string FirstName, 
                        string LastName, 
                        string SearchNumber, 
                        bool EnableSearch, 
                        string Password, 
                        bool EnableManagement, 
                        bool DoNotDisturb, 
                        bool EmailNotification, 
                        string EmailAddress, 
                        bool EmailAttachment, 
                        System.Guid AlternativeExtensionID, 
                        bool UseFindMePlugin, 
                        string FindMePluginData) {
                ExtensionsRow rowExtensionsRow = ((ExtensionsRow)(this.NewRow()));
                object[] columnValuesArray = new object[] {
                        CustomerID,
                        ExtensionID,
                        ExtensionNumber,
                        FirstName,
                        LastName,
                        SearchNumber,
                        EnableSearch,
                        Password,
                        EnableManagement,
                        DoNotDisturb,
                        EmailNotification,
                        EmailAddress,
                        EmailAttachment,
                        AlternativeExtensionID,
                        UseFindMePlugin,
                        FindMePluginData};
                rowExtensionsRow.ItemArray = columnValuesArray;
                this.Rows.Add(rowExtensionsRow);
                return rowExtensionsRow;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public ExtensionsRow FindByExtensionID(System.Guid ExtensionID) {
                return ((ExtensionsRow)(this.Rows.Find(new object[] {
                            ExtensionID})));
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public virtual global::System.Collections.IEnumerator GetEnumerator() {
                return this.Rows.GetEnumerator();
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public override global::System.Data.DataTable Clone() {
                ExtensionsDataTable cln = ((ExtensionsDataTable)(base.Clone()));
                cln.InitVars();
                return cln;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override global::System.Data.DataTable CreateInstance() {
                return new ExtensionsDataTable();
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            internal void InitVars() {
                this.columnCustomerID = base.Columns["CustomerID"];
                this.columnExtensionID = base.Columns["ExtensionID"];
                this.columnExtensionNumber = base.Columns["ExtensionNumber"];
                this.columnFirstName = base.Columns["FirstName"];
                this.columnLastName = base.Columns["LastName"];
                this.columnSearchNumber = base.Columns["SearchNumber"];
                this.columnEnableSearch = base.Columns["EnableSearch"];
                this.columnPassword = base.Columns["Password"];
                this.columnEnableManagement = base.Columns["EnableManagement"];
                this.columnDoNotDisturb = base.Columns["DoNotDisturb"];
                this.columnEmailNotification = base.Columns["EmailNotification"];
                this.columnEmailAddress = base.Columns["EmailAddress"];
                this.columnEmailAttachment = base.Columns["EmailAttachment"];
                this.columnAlternativeExtensionID = base.Columns["AlternativeExtensionID"];
                this.columnUseFindMePlugin = base.Columns["UseFindMePlugin"];
                this.columnFindMePluginData = base.Columns["FindMePluginData"];
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            private void InitClass() {
                this.columnCustomerID = new global::System.Data.DataColumn("CustomerID", typeof(int), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnCustomerID);
                this.columnExtensionID = new global::System.Data.DataColumn("ExtensionID", typeof(global::System.Guid), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnExtensionID);
                this.columnExtensionNumber = new global::System.Data.DataColumn("ExtensionNumber", typeof(short), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnExtensionNumber);
                this.columnFirstName = new global::System.Data.DataColumn("FirstName", typeof(string), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnFirstName);
                this.columnLastName = new global::System.Data.DataColumn("LastName", typeof(string), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnLastName);
                this.columnSearchNumber = new global::System.Data.DataColumn("SearchNumber", typeof(string), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnSearchNumber);
                this.columnEnableSearch = new global::System.Data.DataColumn("EnableSearch", typeof(bool), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnEnableSearch);
                this.columnPassword = new global::System.Data.DataColumn("Password", typeof(string), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnPassword);
                this.columnEnableManagement = new global::System.Data.DataColumn("EnableManagement", typeof(bool), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnEnableManagement);
                this.columnDoNotDisturb = new global::System.Data.DataColumn("DoNotDisturb", typeof(bool), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnDoNotDisturb);
                this.columnEmailNotification = new global::System.Data.DataColumn("EmailNotification", typeof(bool), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnEmailNotification);
                this.columnEmailAddress = new global::System.Data.DataColumn("EmailAddress", typeof(string), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnEmailAddress);
                this.columnEmailAttachment = new global::System.Data.DataColumn("EmailAttachment", typeof(bool), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnEmailAttachment);
                this.columnAlternativeExtensionID = new global::System.Data.DataColumn("AlternativeExtensionID", typeof(global::System.Guid), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnAlternativeExtensionID);
                this.columnUseFindMePlugin = new global::System.Data.DataColumn("UseFindMePlugin", typeof(bool), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnUseFindMePlugin);
                this.columnFindMePluginData = new global::System.Data.DataColumn("FindMePluginData", typeof(string), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnFindMePluginData);
                this.Constraints.Add(new global::System.Data.UniqueConstraint("Constraint1", new global::System.Data.DataColumn[] {
                                this.columnExtensionID}, true));
                this.columnCustomerID.AllowDBNull = false;
                this.columnExtensionID.AllowDBNull = false;
                this.columnExtensionID.Unique = true;
                this.columnExtensionNumber.AllowDBNull = false;
                this.columnEnableSearch.DefaultValue = ((bool)(true));
                this.columnEnableManagement.DefaultValue = ((bool)(false));
                this.columnDoNotDisturb.DefaultValue = ((bool)(false));
                this.columnEmailNotification.DefaultValue = ((bool)(false));
                this.columnEmailAttachment.DefaultValue = ((bool)(false));
                this.columnUseFindMePlugin.DefaultValue = ((bool)(false));
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public ExtensionsRow NewExtensionsRow() {
                return ((ExtensionsRow)(this.NewRow()));
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override global::System.Data.DataRow NewRowFromBuilder(global::System.Data.DataRowBuilder builder) {
                return new ExtensionsRow(builder);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override global::System.Type GetRowType() {
                return typeof(ExtensionsRow);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override void OnRowChanged(global::System.Data.DataRowChangeEventArgs e) {
                base.OnRowChanged(e);
                if ((this.ExtensionsRowChanged != null)) {
                    this.ExtensionsRowChanged(this, new ExtensionsRowChangeEvent(((ExtensionsRow)(e.Row)), e.Action));
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override void OnRowChanging(global::System.Data.DataRowChangeEventArgs e) {
                base.OnRowChanging(e);
                if ((this.ExtensionsRowChanging != null)) {
                    this.ExtensionsRowChanging(this, new ExtensionsRowChangeEvent(((ExtensionsRow)(e.Row)), e.Action));
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override void OnRowDeleted(global::System.Data.DataRowChangeEventArgs e) {
                base.OnRowDeleted(e);
                if ((this.ExtensionsRowDeleted != null)) {
                    this.ExtensionsRowDeleted(this, new ExtensionsRowChangeEvent(((ExtensionsRow)(e.Row)), e.Action));
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override void OnRowDeleting(global::System.Data.DataRowChangeEventArgs e) {
                base.OnRowDeleting(e);
                if ((this.ExtensionsRowDeleting != null)) {
                    this.ExtensionsRowDeleting(this, new ExtensionsRowChangeEvent(((ExtensionsRow)(e.Row)), e.Action));
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void RemoveExtensionsRow(ExtensionsRow row) {
                this.Rows.Remove(row);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) {
                global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType();
                global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence();
                CallButlerDataset ds = new CallButlerDataset();
                global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny();
                any1.Namespace = "http://www.w3.org/2001/XMLSchema";
                any1.MinOccurs = new decimal(0);
                any1.MaxOccurs = decimal.MaxValue;
                any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
                sequence.Items.Add(any1);
                global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny();
                any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1";
                any2.MinOccurs = new decimal(1);
                any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
                sequence.Items.Add(any2);
                global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute();
                attribute1.Name = "namespace";
                attribute1.FixedValue = ds.Namespace;
                type.Attributes.Add(attribute1);
                global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute();
                attribute2.Name = "tableTypeName";
                attribute2.FixedValue = "ExtensionsDataTable";
                type.Attributes.Add(attribute2);
                type.Particle = sequence;
                global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable();
                if (xs.Contains(dsSchema.TargetNamespace)) {
                    global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream();
                    global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream();
                    try {
                        global::System.Xml.Schema.XmlSchema schema = null;
                        dsSchema.Write(s1);
                        for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) {
                            schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current));
                            s2.SetLength(0);
                            schema.Write(s2);
                            if ((s1.Length == s2.Length)) {
                                s1.Position = 0;
                                s2.Position = 0;
                                for (; ((s1.Position != s1.Length) 
                                            && (s1.ReadByte() == s2.ReadByte())); ) {
                                    ;
                                }
                                if ((s1.Position == s1.Length)) {
                                    return type;
                                }
                            }
                        }
                    }
                    finally {
                        if ((s1 != null)) {
                            s1.Close();
                        }
                        if ((s2 != null)) {
                            s2.Close();
                        }
                    }
                }
                xs.Add(dsSchema);
                return type;
            }
        }
        
        /// <summary>
        ///Represents the strongly named DataTable class.
        ///</summary>
        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
        [global::System.Serializable()]
        [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")]
        public partial class ExtensionContactNumbersDataTable : global::System.Data.DataTable, global::System.Collections.IEnumerable {
            
            private global::System.Data.DataColumn columnExtensionID;
            
            private global::System.Data.DataColumn columnExtensionContactNumberID;
            
            private global::System.Data.DataColumn columnContactNumber;
            
            private global::System.Data.DataColumn columnPriority;
            
            private global::System.Data.DataColumn columnHoursOfOperation;
            
            private global::System.Data.DataColumn columnTimeout;
            
            private global::System.Data.DataColumn columnHasHoursOfOperation;
            
            private global::System.Data.DataColumn columnOnline;
            
            private global::System.Data.DataColumn columnHoursOfOperationUTCOffset;
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public ExtensionContactNumbersDataTable() {
                this.TableName = "ExtensionContactNumbers";
                this.BeginInit();
                this.InitClass();
                this.EndInit();
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            internal ExtensionContactNumbersDataTable(global::System.Data.DataTable table) {
                this.TableName = table.TableName;
                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
                    this.CaseSensitive = table.CaseSensitive;
                }
                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
                    this.Locale = table.Locale;
                }
                if ((table.Namespace != table.DataSet.Namespace)) {
                    this.Namespace = table.Namespace;
                }
                this.Prefix = table.Prefix;
                this.MinimumCapacity = table.MinimumCapacity;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected ExtensionContactNumbersDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : 
                    base(info, context) {
                this.InitVars();
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn ExtensionIDColumn {
                get {
                    return this.columnExtensionID;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn ExtensionContactNumberIDColumn {
                get {
                    return this.columnExtensionContactNumberID;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn ContactNumberColumn {
                get {
                    return this.columnContactNumber;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn PriorityColumn {
                get {
                    return this.columnPriority;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn HoursOfOperationColumn {
                get {
                    return this.columnHoursOfOperation;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn TimeoutColumn {
                get {
                    return this.columnTimeout;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn HasHoursOfOperationColumn {
                get {
                    return this.columnHasHoursOfOperation;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn OnlineColumn {
                get {
                    return this.columnOnline;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn HoursOfOperationUTCOffsetColumn {
                get {
                    return this.columnHoursOfOperationUTCOffset;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            [global::System.ComponentModel.Browsable(false)]
            public int Count {
                get {
                    return this.Rows.Count;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public ExtensionContactNumbersRow this[int index] {
                get {
                    return ((ExtensionContactNumbersRow)(this.Rows[index]));
                }
            }
            
            public event ExtensionContactNumbersRowChangeEventHandler ExtensionContactNumbersRowChanging;
            
            public event ExtensionContactNumbersRowChangeEventHandler ExtensionContactNumbersRowChanged;
            
            public event ExtensionContactNumbersRowChangeEventHandler ExtensionContactNumbersRowDeleting;
            
            public event ExtensionContactNumbersRowChangeEventHandler ExtensionContactNumbersRowDeleted;
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void AddExtensionContactNumbersRow(ExtensionContactNumbersRow row) {
                this.Rows.Add(row);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public ExtensionContactNumbersRow AddExtensionContactNumbersRow(ExtensionsRow parentExtensionsRowByFK_Extensions_ExtensionContactNumbers, System.Guid ExtensionContactNumberID, string ContactNumber, short Priority, string HoursOfOperation, short Timeout, bool HasHoursOfOperation, bool Online, System.TimeSpan HoursOfOperationUTCOffset) {
                ExtensionContactNumbersRow rowExtensionContactNumbersRow = ((ExtensionContactNumbersRow)(this.NewRow()));
                object[] columnValuesArray = new object[] {
                        null,
                        ExtensionContactNumberID,
                        ContactNumber,
                        Priority,
                        HoursOfOperation,
                        Timeout,
                        HasHoursOfOperation,
                        Online,
                        HoursOfOperationUTCOffset};
                if ((parentExtensionsRowByFK_Extensions_ExtensionContactNumbers != null)) {
                    columnValuesArray[0] = parentExtensionsRowByFK_Extensions_ExtensionContactNumbers[1];
                }
                rowExtensionContactNumbersRow.ItemArray = columnValuesArray;
                this.Rows.Add(rowExtensionContactNumbersRow);
                return rowExtensionContactNumbersRow;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public ExtensionContactNumbersRow FindByExtensionContactNumberID(System.Guid ExtensionContactNumberID) {
                return ((ExtensionContactNumbersRow)(this.Rows.Find(new object[] {
                            ExtensionContactNumberID})));
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public virtual global::System.Collections.IEnumerator GetEnumerator() {
                return this.Rows.GetEnumerator();
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public override global::System.Data.DataTable Clone() {
                ExtensionContactNumbersDataTable cln = ((ExtensionContactNumbersDataTable)(base.Clone()));
                cln.InitVars();
                return cln;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override global::System.Data.DataTable CreateInstance() {
                return new ExtensionContactNumbersDataTable();
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            internal void InitVars() {
                this.columnExtensionID = base.Columns["ExtensionID"];
                this.columnExtensionContactNumberID = base.Columns["ExtensionContactNumberID"];
                this.columnContactNumber = base.Columns["ContactNumber"];
                this.columnPriority = base.Columns["Priority"];
                this.columnHoursOfOperation = base.Columns["HoursOfOperation"];
                this.columnTimeout = base.Columns["Timeout"];
                this.columnHasHoursOfOperation = base.Columns["HasHoursOfOperation"];
                this.columnOnline = base.Columns["Online"];
                this.columnHoursOfOperationUTCOffset = base.Columns["HoursOfOperationUTCOffset"];
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            private void InitClass() {
                this.columnExtensionID = new global::System.Data.DataColumn("ExtensionID", typeof(global::System.Guid), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnExtensionID);
                this.columnExtensionContactNumberID = new global::System.Data.DataColumn("ExtensionContactNumberID", typeof(global::System.Guid), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnExtensionContactNumberID);
                this.columnContactNumber = new global::System.Data.DataColumn("ContactNumber", typeof(string), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnContactNumber);
                this.columnPriority = new global::System.Data.DataColumn("Priority", typeof(short), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnPriority);
                this.columnHoursOfOperation = new global::System.Data.DataColumn("HoursOfOperation", typeof(string), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnHoursOfOperation);
                this.columnTimeout = new global::System.Data.DataColumn("Timeout", typeof(short), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnTimeout);
                this.columnHasHoursOfOperation = new global::System.Data.DataColumn("HasHoursOfOperation", typeof(bool), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnHasHoursOfOperation);
                this.columnOnline = new global::System.Data.DataColumn("Online", typeof(bool), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnOnline);
                this.columnHoursOfOperationUTCOffset = new global::System.Data.DataColumn("HoursOfOperationUTCOffset", typeof(global::System.TimeSpan), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnHoursOfOperationUTCOffset);
                this.Constraints.Add(new global::System.Data.UniqueConstraint("Constraint1", new global::System.Data.DataColumn[] {
                                this.columnExtensionContactNumberID}, true));
                this.columnExtensionID.AllowDBNull = false;
                this.columnExtensionContactNumberID.AllowDBNull = false;
                this.columnExtensionContactNumberID.Unique = true;
                this.columnHasHoursOfOperation.DefaultValue = ((bool)(false));
                this.columnOnline.DefaultValue = ((bool)(true));
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public ExtensionContactNumbersRow NewExtensionContactNumbersRow() {
                return ((ExtensionContactNumbersRow)(this.NewRow()));
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override global::System.Data.DataRow NewRowFromBuilder(global::System.Data.DataRowBuilder builder) {
                return new ExtensionContactNumbersRow(builder);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override global::System.Type GetRowType() {
                return typeof(ExtensionContactNumbersRow);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override void OnRowChanged(global::System.Data.DataRowChangeEventArgs e) {
                base.OnRowChanged(e);
                if ((this.ExtensionContactNumbersRowChanged != null)) {
                    this.ExtensionContactNumbersRowChanged(this, new ExtensionContactNumbersRowChangeEvent(((ExtensionContactNumbersRow)(e.Row)), e.Action));
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override void OnRowChanging(global::System.Data.DataRowChangeEventArgs e) {
                base.OnRowChanging(e);
                if ((this.ExtensionContactNumbersRowChanging != null)) {
                    this.ExtensionContactNumbersRowChanging(this, new ExtensionContactNumbersRowChangeEvent(((ExtensionContactNumbersRow)(e.Row)), e.Action));
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override void OnRowDeleted(global::System.Data.DataRowChangeEventArgs e) {
                base.OnRowDeleted(e);
                if ((this.ExtensionContactNumbersRowDeleted != null)) {
                    this.ExtensionContactNumbersRowDeleted(this, new ExtensionContactNumbersRowChangeEvent(((ExtensionContactNumbersRow)(e.Row)), e.Action));
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override void OnRowDeleting(global::System.Data.DataRowChangeEventArgs e) {
                base.OnRowDeleting(e);
                if ((this.ExtensionContactNumbersRowDeleting != null)) {
                    this.ExtensionContactNumbersRowDeleting(this, new ExtensionContactNumbersRowChangeEvent(((ExtensionContactNumbersRow)(e.Row)), e.Action));
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void RemoveExtensionContactNumbersRow(ExtensionContactNumbersRow row) {
                this.Rows.Remove(row);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) {
                global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType();
                global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence();
                CallButlerDataset ds = new CallButlerDataset();
                global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny();
                any1.Namespace = "http://www.w3.org/2001/XMLSchema";
                any1.MinOccurs = new decimal(0);
                any1.MaxOccurs = decimal.MaxValue;
                any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
                sequence.Items.Add(any1);
                global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny();
                any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1";
                any2.MinOccurs = new decimal(1);
                any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
                sequence.Items.Add(any2);
                global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute();
                attribute1.Name = "namespace";
                attribute1.FixedValue = ds.Namespace;
                type.Attributes.Add(attribute1);
                global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute();
                attribute2.Name = "tableTypeName";
                attribute2.FixedValue = "ExtensionContactNumbersDataTable";
                type.Attributes.Add(attribute2);
                type.Particle = sequence;
                global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable();
                if (xs.Contains(dsSchema.TargetNamespace)) {
                    global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream();
                    global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream();
                    try {
                        global::System.Xml.Schema.XmlSchema schema = null;
                        dsSchema.Write(s1);
                        for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) {
                            schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current));
                            s2.SetLength(0);
                            schema.Write(s2);
                            if ((s1.Length == s2.Length)) {
                                s1.Position = 0;
                                s2.Position = 0;
                                for (; ((s1.Position != s1.Length) 
                                            && (s1.ReadByte() == s2.ReadByte())); ) {
                                    ;
                                }
                                if ((s1.Position == s1.Length)) {
                                    return type;
                                }
                            }
                        }
                    }
                    finally {
                        if ((s1 != null)) {
                            s1.Close();
                        }
                        if ((s2 != null)) {
                            s2.Close();
                        }
                    }
                }
                xs.Add(dsSchema);
                return type;
            }
        }
        
        /// <summary>
        ///Represents the strongly named DataTable class.
        ///</summary>
        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
        [global::System.Serializable()]
        [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")]
        public partial class VoicemailsDataTable : global::System.Data.DataTable, global::System.Collections.IEnumerable {
            
            private global::System.Data.DataColumn columnVoicemailID;
            
            private global::System.Data.DataColumn columnExtensionID;
            
            private global::System.Data.DataColumn columnTimestamp;
            
            private global::System.Data.DataColumn columnCallerDisplayName;
            
            private global::System.Data.DataColumn columnCallerUsername;
            
            private global::System.Data.DataColumn columnCallerHost;
            
            private global::System.Data.DataColumn columnIsNew;
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public VoicemailsDataTable() {
                this.TableName = "Voicemails";
                this.BeginInit();
                this.InitClass();
                this.EndInit();
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            internal VoicemailsDataTable(global::System.Data.DataTable table) {
                this.TableName = table.TableName;
                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
                    this.CaseSensitive = table.CaseSensitive;
                }
                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
                    this.Locale = table.Locale;
                }
                if ((table.Namespace != table.DataSet.Namespace)) {
                    this.Namespace = table.Namespace;
                }
                this.Prefix = table.Prefix;
                this.MinimumCapacity = table.MinimumCapacity;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected VoicemailsDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : 
                    base(info, context) {
                this.InitVars();
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn VoicemailIDColumn {
                get {
                    return this.columnVoicemailID;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn ExtensionIDColumn {
                get {
                    return this.columnExtensionID;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn TimestampColumn {
                get {
                    return this.columnTimestamp;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn CallerDisplayNameColumn {
                get {
                    return this.columnCallerDisplayName;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn CallerUsernameColumn {
                get {
                    return this.columnCallerUsername;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn CallerHostColumn {
                get {
                    return this.columnCallerHost;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn IsNewColumn {
                get {
                    return this.columnIsNew;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            [global::System.ComponentModel.Browsable(false)]
            public int Count {
                get {
                    return this.Rows.Count;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public VoicemailsRow this[int index] {
                get {
                    return ((VoicemailsRow)(this.Rows[index]));
                }
            }
            
            public event VoicemailsRowChangeEventHandler VoicemailsRowChanging;
            
            public event VoicemailsRowChangeEventHandler VoicemailsRowChanged;
            
            public event VoicemailsRowChangeEventHandler VoicemailsRowDeleting;
            
            public event VoicemailsRowChangeEventHandler VoicemailsRowDeleted;
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void AddVoicemailsRow(VoicemailsRow row) {
                this.Rows.Add(row);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public VoicemailsRow AddVoicemailsRow(System.Guid VoicemailID, ExtensionsRow parentExtensionsRowByFK_Extensions_Voicemails, System.DateTime Timestamp, string CallerDisplayName, string CallerUsername, string CallerHost, bool IsNew) {
                VoicemailsRow rowVoicemailsRow = ((VoicemailsRow)(this.NewRow()));
                object[] columnValuesArray = new object[] {
                        VoicemailID,
                        null,
                        Timestamp,
                        CallerDisplayName,
                        CallerUsername,
                        CallerHost,
                        IsNew};
                if ((parentExtensionsRowByFK_Extensions_Voicemails != null)) {
                    columnValuesArray[1] = parentExtensionsRowByFK_Extensions_Voicemails[1];
                }
                rowVoicemailsRow.ItemArray = columnValuesArray;
                this.Rows.Add(rowVoicemailsRow);
                return rowVoicemailsRow;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public VoicemailsRow FindByVoicemailID(System.Guid VoicemailID) {
                return ((VoicemailsRow)(this.Rows.Find(new object[] {
                            VoicemailID})));
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public virtual global::System.Collections.IEnumerator GetEnumerator() {
                return this.Rows.GetEnumerator();
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public override global::System.Data.DataTable Clone() {
                VoicemailsDataTable cln = ((VoicemailsDataTable)(base.Clone()));
                cln.InitVars();
                return cln;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override global::System.Data.DataTable CreateInstance() {
                return new VoicemailsDataTable();
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            internal void InitVars() {
                this.columnVoicemailID = base.Columns["VoicemailID"];
                this.columnExtensionID = base.Columns["ExtensionID"];
                this.columnTimestamp = base.Columns["Timestamp"];
                this.columnCallerDisplayName = base.Columns["CallerDisplayName"];
                this.columnCallerUsername = base.Columns["CallerUsername"];
                this.columnCallerHost = base.Columns["CallerHost"];
                this.columnIsNew = base.Columns["IsNew"];
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            private void InitClass() {
                this.columnVoicemailID = new global::System.Data.DataColumn("VoicemailID", typeof(global::System.Guid), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnVoicemailID);
                this.columnExtensionID = new global::System.Data.DataColumn("ExtensionID", typeof(global::System.Guid), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnExtensionID);
                this.columnTimestamp = new global::System.Data.DataColumn("Timestamp", typeof(global::System.DateTime), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnTimestamp);
                this.columnCallerDisplayName = new global::System.Data.DataColumn("CallerDisplayName", typeof(string), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnCallerDisplayName);
                this.columnCallerUsername = new global::System.Data.DataColumn("CallerUsername", typeof(string), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnCallerUsername);
                this.columnCallerHost = new global::System.Data.DataColumn("CallerHost", typeof(string), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnCallerHost);
                this.columnIsNew = new global::System.Data.DataColumn("IsNew", typeof(bool), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnIsNew);
                this.Constraints.Add(new global::System.Data.UniqueConstraint("Constraint1", new global::System.Data.DataColumn[] {
                                this.columnVoicemailID}, true));
                this.columnVoicemailID.AllowDBNull = false;
                this.columnVoicemailID.Unique = true;
                this.columnExtensionID.AllowDBNull = false;
                this.columnIsNew.DefaultValue = ((bool)(true));
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public VoicemailsRow NewVoicemailsRow() {
                return ((VoicemailsRow)(this.NewRow()));
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override global::System.Data.DataRow NewRowFromBuilder(global::System.Data.DataRowBuilder builder) {
                return new VoicemailsRow(builder);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override global::System.Type GetRowType() {
                return typeof(VoicemailsRow);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override void OnRowChanged(global::System.Data.DataRowChangeEventArgs e) {
                base.OnRowChanged(e);
                if ((this.VoicemailsRowChanged != null)) {
                    this.VoicemailsRowChanged(this, new VoicemailsRowChangeEvent(((VoicemailsRow)(e.Row)), e.Action));
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override void OnRowChanging(global::System.Data.DataRowChangeEventArgs e) {
                base.OnRowChanging(e);
                if ((this.VoicemailsRowChanging != null)) {
                    this.VoicemailsRowChanging(this, new VoicemailsRowChangeEvent(((VoicemailsRow)(e.Row)), e.Action));
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override void OnRowDeleted(global::System.Data.DataRowChangeEventArgs e) {
                base.OnRowDeleted(e);
                if ((this.VoicemailsRowDeleted != null)) {
                    this.VoicemailsRowDeleted(this, new VoicemailsRowChangeEvent(((VoicemailsRow)(e.Row)), e.Action));
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override void OnRowDeleting(global::System.Data.DataRowChangeEventArgs e) {
                base.OnRowDeleting(e);
                if ((this.VoicemailsRowDeleting != null)) {
                    this.VoicemailsRowDeleting(this, new VoicemailsRowChangeEvent(((VoicemailsRow)(e.Row)), e.Action));
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void RemoveVoicemailsRow(VoicemailsRow row) {
                this.Rows.Remove(row);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) {
                global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType();
                global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence();
                CallButlerDataset ds = new CallButlerDataset();
                global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny();
                any1.Namespace = "http://www.w3.org/2001/XMLSchema";
                any1.MinOccurs = new decimal(0);
                any1.MaxOccurs = decimal.MaxValue;
                any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
                sequence.Items.Add(any1);
                global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny();
                any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1";
                any2.MinOccurs = new decimal(1);
                any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
                sequence.Items.Add(any2);
                global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute();
                attribute1.Name = "namespace";
                attribute1.FixedValue = ds.Namespace;
                type.Attributes.Add(attribute1);
                global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute();
                attribute2.Name = "tableTypeName";
                attribute2.FixedValue = "VoicemailsDataTable";
                type.Attributes.Add(attribute2);
                type.Particle = sequence;
                global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable();
                if (xs.Contains(dsSchema.TargetNamespace)) {
                    global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream();
                    global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream();
                    try {
                        global::System.Xml.Schema.XmlSchema schema = null;
                        dsSchema.Write(s1);
                        for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) {
                            schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current));
                            s2.SetLength(0);
                            schema.Write(s2);
                            if ((s1.Length == s2.Length)) {
                                s1.Position = 0;
                                s2.Position = 0;
                                for (; ((s1.Position != s1.Length) 
                                            && (s1.ReadByte() == s2.ReadByte())); ) {
                                    ;
                                }
                                if ((s1.Position == s1.Length)) {
                                    return type;
                                }
                            }
                        }
                    }
                    finally {
                        if ((s1 != null)) {
                            s1.Close();
                        }
                        if ((s2 != null)) {
                            s2.Close();
                        }
                    }
                }
                xs.Add(dsSchema);
                return type;
            }
        }
        
        /// <summary>
        ///Represents the strongly named DataTable class.
        ///</summary>
        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
        [global::System.Serializable()]
        [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")]
        public partial class PersonalizedGreetingsDataTable : global::System.Data.DataTable, global::System.Collections.IEnumerable {
            
            private global::System.Data.DataColumn columnCustomerID;
            
            private global::System.Data.DataColumn columnPersonalizedGreetingID;
            
            private global::System.Data.DataColumn columnCallerDisplayName;
            
            private global::System.Data.DataColumn columnCallerUsername;
            
            private global::System.Data.DataColumn columnCallerHost;
            
            private global::System.Data.DataColumn columnDialedUsername;
            
            private global::System.Data.DataColumn columnDialedHost;
            
            private global::System.Data.DataColumn columnUseRegex;
            
            private global::System.Data.DataColumn columnType;
            
            private global::System.Data.DataColumn columnData;
            
            private global::System.Data.DataColumn columnPlayOnce;
            
            private global::System.Data.DataColumn columnHasPlayed;
            
            private global::System.Data.DataColumn columnNotes;
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public PersonalizedGreetingsDataTable() {
                this.TableName = "PersonalizedGreetings";
                this.BeginInit();
                this.InitClass();
                this.EndInit();
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            internal PersonalizedGreetingsDataTable(global::System.Data.DataTable table) {
                this.TableName = table.TableName;
                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
                    this.CaseSensitive = table.CaseSensitive;
                }
                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
                    this.Locale = table.Locale;
                }
                if ((table.Namespace != table.DataSet.Namespace)) {
                    this.Namespace = table.Namespace;
                }
                this.Prefix = table.Prefix;
                this.MinimumCapacity = table.MinimumCapacity;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected PersonalizedGreetingsDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : 
                    base(info, context) {
                this.InitVars();
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn CustomerIDColumn {
                get {
                    return this.columnCustomerID;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn PersonalizedGreetingIDColumn {
                get {
                    return this.columnPersonalizedGreetingID;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn CallerDisplayNameColumn {
                get {
                    return this.columnCallerDisplayName;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn CallerUsernameColumn {
                get {
                    return this.columnCallerUsername;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn CallerHostColumn {
                get {
                    return this.columnCallerHost;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn DialedUsernameColumn {
                get {
                    return this.columnDialedUsername;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn DialedHostColumn {
                get {
                    return this.columnDialedHost;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn UseRegexColumn {
                get {
                    return this.columnUseRegex;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn TypeColumn {
                get {
                    return this.columnType;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn DataColumn {
                get {
                    return this.columnData;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn PlayOnceColumn {
                get {
                    return this.columnPlayOnce;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn HasPlayedColumn {
                get {
                    return this.columnHasPlayed;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn NotesColumn {
                get {
                    return this.columnNotes;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            [global::System.ComponentModel.Browsable(false)]
            public int Count {
                get {
                    return this.Rows.Count;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public PersonalizedGreetingsRow this[int index] {
                get {
                    return ((PersonalizedGreetingsRow)(this.Rows[index]));
                }
            }
            
            public event PersonalizedGreetingsRowChangeEventHandler PersonalizedGreetingsRowChanging;
            
            public event PersonalizedGreetingsRowChangeEventHandler PersonalizedGreetingsRowChanged;
            
            public event PersonalizedGreetingsRowChangeEventHandler PersonalizedGreetingsRowDeleting;
            
            public event PersonalizedGreetingsRowChangeEventHandler PersonalizedGreetingsRowDeleted;
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void AddPersonalizedGreetingsRow(PersonalizedGreetingsRow row) {
                this.Rows.Add(row);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public PersonalizedGreetingsRow AddPersonalizedGreetingsRow(int CustomerID, System.Guid PersonalizedGreetingID, string CallerDisplayName, string CallerUsername, string CallerHost, string DialedUsername, string DialedHost, bool UseRegex, short Type, string Data, bool PlayOnce, bool HasPlayed, string Notes) {
                PersonalizedGreetingsRow rowPersonalizedGreetingsRow = ((PersonalizedGreetingsRow)(this.NewRow()));
                object[] columnValuesArray = new object[] {
                        CustomerID,
                        PersonalizedGreetingID,
                        CallerDisplayName,
                        CallerUsername,
                        CallerHost,
                        DialedUsername,
                        DialedHost,
                        UseRegex,
                        Type,
                        Data,
                        PlayOnce,
                        HasPlayed,
                        Notes};
                rowPersonalizedGreetingsRow.ItemArray = columnValuesArray;
                this.Rows.Add(rowPersonalizedGreetingsRow);
                return rowPersonalizedGreetingsRow;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public PersonalizedGreetingsRow FindByPersonalizedGreetingID(System.Guid PersonalizedGreetingID) {
                return ((PersonalizedGreetingsRow)(this.Rows.Find(new object[] {
                            PersonalizedGreetingID})));
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public virtual global::System.Collections.IEnumerator GetEnumerator() {
                return this.Rows.GetEnumerator();
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public override global::System.Data.DataTable Clone() {
                PersonalizedGreetingsDataTable cln = ((PersonalizedGreetingsDataTable)(base.Clone()));
                cln.InitVars();
                return cln;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override global::System.Data.DataTable CreateInstance() {
                return new PersonalizedGreetingsDataTable();
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            internal void InitVars() {
                this.columnCustomerID = base.Columns["CustomerID"];
                this.columnPersonalizedGreetingID = base.Columns["PersonalizedGreetingID"];
                this.columnCallerDisplayName = base.Columns["CallerDisplayName"];
                this.columnCallerUsername = base.Columns["CallerUsername"];
                this.columnCallerHost = base.Columns["CallerHost"];
                this.columnDialedUsername = base.Columns["DialedUsername"];
                this.columnDialedHost = base.Columns["DialedHost"];
                this.columnUseRegex = base.Columns["UseRegex"];
                this.columnType = base.Columns["Type"];
                this.columnData = base.Columns["Data"];
                this.columnPlayOnce = base.Columns["PlayOnce"];
                this.columnHasPlayed = base.Columns["HasPlayed"];
                this.columnNotes = base.Columns["Notes"];
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            private void InitClass() {
                this.columnCustomerID = new global::System.Data.DataColumn("CustomerID", typeof(int), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnCustomerID);
                this.columnPersonalizedGreetingID = new global::System.Data.DataColumn("PersonalizedGreetingID", typeof(global::System.Guid), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnPersonalizedGreetingID);
                this.columnCallerDisplayName = new global::System.Data.DataColumn("CallerDisplayName", typeof(string), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnCallerDisplayName);
                this.columnCallerUsername = new global::System.Data.DataColumn("CallerUsername", typeof(string), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnCallerUsername);
                this.columnCallerHost = new global::System.Data.DataColumn("CallerHost", typeof(string), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnCallerHost);
                this.columnDialedUsername = new global::System.Data.DataColumn("DialedUsername", typeof(string), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnDialedUsername);
                this.columnDialedHost = new global::System.Data.DataColumn("DialedHost", typeof(string), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnDialedHost);
                this.columnUseRegex = new global::System.Data.DataColumn("UseRegex", typeof(bool), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnUseRegex);
                this.columnType = new global::System.Data.DataColumn("Type", typeof(short), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnType);
                this.columnData = new global::System.Data.DataColumn("Data", typeof(string), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnData);
                this.columnPlayOnce = new global::System.Data.DataColumn("PlayOnce", typeof(bool), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnPlayOnce);
                this.columnHasPlayed = new global::System.Data.DataColumn("HasPlayed", typeof(bool), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnHasPlayed);
                this.columnNotes = new global::System.Data.DataColumn("Notes", typeof(string), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnNotes);
                this.Constraints.Add(new global::System.Data.UniqueConstraint("Constraint1", new global::System.Data.DataColumn[] {
                                this.columnPersonalizedGreetingID}, true));
                this.columnPersonalizedGreetingID.AllowDBNull = false;
                this.columnPersonalizedGreetingID.Unique = true;
                this.columnUseRegex.DefaultValue = ((bool)(false));
                this.columnPlayOnce.DefaultValue = ((bool)(false));
                this.columnHasPlayed.DefaultValue = ((bool)(false));
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public PersonalizedGreetingsRow NewPersonalizedGreetingsRow() {
                return ((PersonalizedGreetingsRow)(this.NewRow()));
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override global::System.Data.DataRow NewRowFromBuilder(global::System.Data.DataRowBuilder builder) {
                return new PersonalizedGreetingsRow(builder);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override global::System.Type GetRowType() {
                return typeof(PersonalizedGreetingsRow);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override void OnRowChanged(global::System.Data.DataRowChangeEventArgs e) {
                base.OnRowChanged(e);
                if ((this.PersonalizedGreetingsRowChanged != null)) {
                    this.PersonalizedGreetingsRowChanged(this, new PersonalizedGreetingsRowChangeEvent(((PersonalizedGreetingsRow)(e.Row)), e.Action));
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override void OnRowChanging(global::System.Data.DataRowChangeEventArgs e) {
                base.OnRowChanging(e);
                if ((this.PersonalizedGreetingsRowChanging != null)) {
                    this.PersonalizedGreetingsRowChanging(this, new PersonalizedGreetingsRowChangeEvent(((PersonalizedGreetingsRow)(e.Row)), e.Action));
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override void OnRowDeleted(global::System.Data.DataRowChangeEventArgs e) {
                base.OnRowDeleted(e);
                if ((this.PersonalizedGreetingsRowDeleted != null)) {
                    this.PersonalizedGreetingsRowDeleted(this, new PersonalizedGreetingsRowChangeEvent(((PersonalizedGreetingsRow)(e.Row)), e.Action));
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override void OnRowDeleting(global::System.Data.DataRowChangeEventArgs e) {
                base.OnRowDeleting(e);
                if ((this.PersonalizedGreetingsRowDeleting != null)) {
                    this.PersonalizedGreetingsRowDeleting(this, new PersonalizedGreetingsRowChangeEvent(((PersonalizedGreetingsRow)(e.Row)), e.Action));
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void RemovePersonalizedGreetingsRow(PersonalizedGreetingsRow row) {
                this.Rows.Remove(row);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) {
                global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType();
                global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence();
                CallButlerDataset ds = new CallButlerDataset();
                global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny();
                any1.Namespace = "http://www.w3.org/2001/XMLSchema";
                any1.MinOccurs = new decimal(0);
                any1.MaxOccurs = decimal.MaxValue;
                any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
                sequence.Items.Add(any1);
                global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny();
                any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1";
                any2.MinOccurs = new decimal(1);
                any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
                sequence.Items.Add(any2);
                global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute();
                attribute1.Name = "namespace";
                attribute1.FixedValue = ds.Namespace;
                type.Attributes.Add(attribute1);
                global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute();
                attribute2.Name = "tableTypeName";
                attribute2.FixedValue = "PersonalizedGreetingsDataTable";
                type.Attributes.Add(attribute2);
                type.Particle = sequence;
                global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable();
                if (xs.Contains(dsSchema.TargetNamespace)) {
                    global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream();
                    global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream();
                    try {
                        global::System.Xml.Schema.XmlSchema schema = null;
                        dsSchema.Write(s1);
                        for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) {
                            schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current));
                            s2.SetLength(0);
                            schema.Write(s2);
                            if ((s1.Length == s2.Length)) {
                                s1.Position = 0;
                                s2.Position = 0;
                                for (; ((s1.Position != s1.Length) 
                                            && (s1.ReadByte() == s2.ReadByte())); ) {
                                    ;
                                }
                                if ((s1.Position == s1.Length)) {
                                    return type;
                                }
                            }
                        }
                    }
                    finally {
                        if ((s1 != null)) {
                            s1.Close();
                        }
                        if ((s2 != null)) {
                            s2.Close();
                        }
                    }
                }
                xs.Add(dsSchema);
                return type;
            }
        }
        
        /// <summary>
        ///Represents the strongly named DataTable class.
        ///</summary>
        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
        [global::System.Serializable()]
        [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")]
        public partial class ProvidersDataTable : global::System.Data.DataTable, global::System.Collections.IEnumerable {
            
            private global::System.Data.DataColumn columnCustomerID;
            
            private global::System.Data.DataColumn columnProviderID;
            
            private global::System.Data.DataColumn columnName;
            
            private global::System.Data.DataColumn columnDisplayName;
            
            private global::System.Data.DataColumn columnUsername;
            
            private global::System.Data.DataColumn columnAuthUsername;
            
            private global::System.Data.DataColumn columnAuthPassword;
            
            private global::System.Data.DataColumn columnDomain;
            
            private global::System.Data.DataColumn columnSIPProxy;
            
            private global::System.Data.DataColumn columnSIPRegistrar;
            
            private global::System.Data.DataColumn columnExpires;
            
            private global::System.Data.DataColumn columnIsEnabled;
            
            private global::System.Data.DataColumn columnStatus;
            
            private global::System.Data.DataColumn columnIsDefault;
            
            private global::System.Data.DataColumn columnEnableRegistration;
            
            private global::System.Data.DataColumn columnExtraData;
            
            private global::System.Data.DataColumn columnPluginID;
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public ProvidersDataTable() {
                this.TableName = "Providers";
                this.BeginInit();
                this.InitClass();
                this.EndInit();
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            internal ProvidersDataTable(global::System.Data.DataTable table) {
                this.TableName = table.TableName;
                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
                    this.CaseSensitive = table.CaseSensitive;
                }
                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
                    this.Locale = table.Locale;
                }
                if ((table.Namespace != table.DataSet.Namespace)) {
                    this.Namespace = table.Namespace;
                }
                this.Prefix = table.Prefix;
                this.MinimumCapacity = table.MinimumCapacity;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected ProvidersDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : 
                    base(info, context) {
                this.InitVars();
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn CustomerIDColumn {
                get {
                    return this.columnCustomerID;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn ProviderIDColumn {
                get {
                    return this.columnProviderID;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn NameColumn {
                get {
                    return this.columnName;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn DisplayNameColumn {
                get {
                    return this.columnDisplayName;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn UsernameColumn {
                get {
                    return this.columnUsername;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn AuthUsernameColumn {
                get {
                    return this.columnAuthUsername;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn AuthPasswordColumn {
                get {
                    return this.columnAuthPassword;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn DomainColumn {
                get {
                    return this.columnDomain;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn SIPProxyColumn {
                get {
                    return this.columnSIPProxy;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn SIPRegistrarColumn {
                get {
                    return this.columnSIPRegistrar;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn ExpiresColumn {
                get {
                    return this.columnExpires;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn IsEnabledColumn {
                get {
                    return this.columnIsEnabled;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn StatusColumn {
                get {
                    return this.columnStatus;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn IsDefaultColumn {
                get {
                    return this.columnIsDefault;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn EnableRegistrationColumn {
                get {
                    return this.columnEnableRegistration;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn ExtraDataColumn {
                get {
                    return this.columnExtraData;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn PluginIDColumn {
                get {
                    return this.columnPluginID;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            [global::System.ComponentModel.Browsable(false)]
            public int Count {
                get {
                    return this.Rows.Count;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public ProvidersRow this[int index] {
                get {
                    return ((ProvidersRow)(this.Rows[index]));
                }
            }
            
            public event ProvidersRowChangeEventHandler ProvidersRowChanging;
            
            public event ProvidersRowChangeEventHandler ProvidersRowChanged;
            
            public event ProvidersRowChangeEventHandler ProvidersRowDeleting;
            
            public event ProvidersRowChangeEventHandler ProvidersRowDeleted;
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void AddProvidersRow(ProvidersRow row) {
                this.Rows.Add(row);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public ProvidersRow AddProvidersRow(
                        int CustomerID, 
                        System.Guid ProviderID, 
                        string Name, 
                        string DisplayName, 
                        string Username, 
                        string AuthUsername, 
                        string AuthPassword, 
                        string Domain, 
                        string SIPProxy, 
                        string SIPRegistrar, 
                        int Expires, 
                        bool IsEnabled, 
                        string Status, 
                        bool IsDefault, 
                        bool EnableRegistration, 
                        string ExtraData, 
                        string PluginID) {
                ProvidersRow rowProvidersRow = ((ProvidersRow)(this.NewRow()));
                object[] columnValuesArray = new object[] {
                        CustomerID,
                        ProviderID,
                        Name,
                        DisplayName,
                        Username,
                        AuthUsername,
                        AuthPassword,
                        Domain,
                        SIPProxy,
                        SIPRegistrar,
                        Expires,
                        IsEnabled,
                        Status,
                        IsDefault,
                        EnableRegistration,
                        ExtraData,
                        PluginID};
                rowProvidersRow.ItemArray = columnValuesArray;
                this.Rows.Add(rowProvidersRow);
                return rowProvidersRow;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public ProvidersRow FindByProviderID(System.Guid ProviderID) {
                return ((ProvidersRow)(this.Rows.Find(new object[] {
                            ProviderID})));
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public virtual global::System.Collections.IEnumerator GetEnumerator() {
                return this.Rows.GetEnumerator();
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public override global::System.Data.DataTable Clone() {
                ProvidersDataTable cln = ((ProvidersDataTable)(base.Clone()));
                cln.InitVars();
                return cln;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override global::System.Data.DataTable CreateInstance() {
                return new ProvidersDataTable();
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            internal void InitVars() {
                this.columnCustomerID = base.Columns["CustomerID"];
                this.columnProviderID = base.Columns["ProviderID"];
                this.columnName = base.Columns["Name"];
                this.columnDisplayName = base.Columns["DisplayName"];
                this.columnUsername = base.Columns["Username"];
                this.columnAuthUsername = base.Columns["AuthUsername"];
                this.columnAuthPassword = base.Columns["AuthPassword"];
                this.columnDomain = base.Columns["Domain"];
                this.columnSIPProxy = base.Columns["SIPProxy"];
                this.columnSIPRegistrar = base.Columns["SIPRegistrar"];
                this.columnExpires = base.Columns["Expires"];
                this.columnIsEnabled = base.Columns["IsEnabled"];
                this.columnStatus = base.Columns["Status"];
                this.columnIsDefault = base.Columns["IsDefault"];
                this.columnEnableRegistration = base.Columns["EnableRegistration"];
                this.columnExtraData = base.Columns["ExtraData"];
                this.columnPluginID = base.Columns["PluginID"];
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            private void InitClass() {
                this.columnCustomerID = new global::System.Data.DataColumn("CustomerID", typeof(int), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnCustomerID);
                this.columnProviderID = new global::System.Data.DataColumn("ProviderID", typeof(global::System.Guid), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnProviderID);
                this.columnName = new global::System.Data.DataColumn("Name", typeof(string), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnName);
                this.columnDisplayName = new global::System.Data.DataColumn("DisplayName", typeof(string), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnDisplayName);
                this.columnUsername = new global::System.Data.DataColumn("Username", typeof(string), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnUsername);
                this.columnAuthUsername = new global::System.Data.DataColumn("AuthUsername", typeof(string), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnAuthUsername);
                this.columnAuthPassword = new global::System.Data.DataColumn("AuthPassword", typeof(string), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnAuthPassword);
                this.columnDomain = new global::System.Data.DataColumn("Domain", typeof(string), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnDomain);
                this.columnSIPProxy = new global::System.Data.DataColumn("SIPProxy", typeof(string), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnSIPProxy);
                this.columnSIPRegistrar = new global::System.Data.DataColumn("SIPRegistrar", typeof(string), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnSIPRegistrar);
                this.columnExpires = new global::System.Data.DataColumn("Expires", typeof(int), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnExpires);
                this.columnIsEnabled = new global::System.Data.DataColumn("IsEnabled", typeof(bool), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnIsEnabled);
                this.columnStatus = new global::System.Data.DataColumn("Status", typeof(string), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnStatus);
                this.columnIsDefault = new global::System.Data.DataColumn("IsDefault", typeof(bool), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnIsDefault);
                this.columnEnableRegistration = new global::System.Data.DataColumn("EnableRegistration", typeof(bool), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnEnableRegistration);
                this.columnExtraData = new global::System.Data.DataColumn("ExtraData", typeof(string), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnExtraData);
                this.columnPluginID = new global::System.Data.DataColumn("PluginID", typeof(string), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnPluginID);
                this.Constraints.Add(new global::System.Data.UniqueConstraint("Constraint1", new global::System.Data.DataColumn[] {
                                this.columnProviderID}, true));
                this.columnProviderID.AllowDBNull = false;
                this.columnProviderID.Unique = true;
                this.columnIsEnabled.DefaultValue = ((bool)(true));
                this.columnIsDefault.DefaultValue = ((bool)(false));
                this.columnEnableRegistration.DefaultValue = ((bool)(true));
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public ProvidersRow NewProvidersRow() {
                return ((ProvidersRow)(this.NewRow()));
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override global::System.Data.DataRow NewRowFromBuilder(global::System.Data.DataRowBuilder builder) {
                return new ProvidersRow(builder);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override global::System.Type GetRowType() {
                return typeof(ProvidersRow);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override void OnRowChanged(global::System.Data.DataRowChangeEventArgs e) {
                base.OnRowChanged(e);
                if ((this.ProvidersRowChanged != null)) {
                    this.ProvidersRowChanged(this, new ProvidersRowChangeEvent(((ProvidersRow)(e.Row)), e.Action));
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override void OnRowChanging(global::System.Data.DataRowChangeEventArgs e) {
                base.OnRowChanging(e);
                if ((this.ProvidersRowChanging != null)) {
                    this.ProvidersRowChanging(this, new ProvidersRowChangeEvent(((ProvidersRow)(e.Row)), e.Action));
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override void OnRowDeleted(global::System.Data.DataRowChangeEventArgs e) {
                base.OnRowDeleted(e);
                if ((this.ProvidersRowDeleted != null)) {
                    this.ProvidersRowDeleted(this, new ProvidersRowChangeEvent(((ProvidersRow)(e.Row)), e.Action));
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override void OnRowDeleting(global::System.Data.DataRowChangeEventArgs e) {
                base.OnRowDeleting(e);
                if ((this.ProvidersRowDeleting != null)) {
                    this.ProvidersRowDeleting(this, new ProvidersRowChangeEvent(((ProvidersRow)(e.Row)), e.Action));
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void RemoveProvidersRow(ProvidersRow row) {
                this.Rows.Remove(row);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) {
                global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType();
                global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence();
                CallButlerDataset ds = new CallButlerDataset();
                global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny();
                any1.Namespace = "http://www.w3.org/2001/XMLSchema";
                any1.MinOccurs = new decimal(0);
                any1.MaxOccurs = decimal.MaxValue;
                any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
                sequence.Items.Add(any1);
                global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny();
                any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1";
                any2.MinOccurs = new decimal(1);
                any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
                sequence.Items.Add(any2);
                global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute();
                attribute1.Name = "namespace";
                attribute1.FixedValue = ds.Namespace;
                type.Attributes.Add(attribute1);
                global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute();
                attribute2.Name = "tableTypeName";
                attribute2.FixedValue = "ProvidersDataTable";
                type.Attributes.Add(attribute2);
                type.Particle = sequence;
                global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable();
                if (xs.Contains(dsSchema.TargetNamespace)) {
                    global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream();
                    global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream();
                    try {
                        global::System.Xml.Schema.XmlSchema schema = null;
                        dsSchema.Write(s1);
                        for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) {
                            schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current));
                            s2.SetLength(0);
                            schema.Write(s2);
                            if ((s1.Length == s2.Length)) {
                                s1.Position = 0;
                                s2.Position = 0;
                                for (; ((s1.Position != s1.Length) 
                                            && (s1.ReadByte() == s2.ReadByte())); ) {
                                    ;
                                }
                                if ((s1.Position == s1.Length)) {
                                    return type;
                                }
                            }
                        }
                    }
                    finally {
                        if ((s1 != null)) {
                            s1.Close();
                        }
                        if ((s2 != null)) {
                            s2.Close();
                        }
                    }
                }
                xs.Add(dsSchema);
                return type;
            }
        }
        
        /// <summary>
        ///Represents the strongly named DataTable class.
        ///</summary>
        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
        [global::System.Serializable()]
        [global::System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")]
        public partial class ScriptSchedulesDataTable : global::System.Data.DataTable, global::System.Collections.IEnumerable {
            
            private global::System.Data.DataColumn columnCustomerID;
            
            private global::System.Data.DataColumn columnScriptScheduleID;
            
            private global::System.Data.DataColumn columnScriptLocation;
            
            private global::System.Data.DataColumn columnPriority;
            
            private global::System.Data.DataColumn columnHasHoursOfOperation;
            
            private global::System.Data.DataColumn columnHoursOfOperation;
            
            private global::System.Data.DataColumn columnName;
            
            private global::System.Data.DataColumn columnEnabled;
            
            private global::System.Data.DataColumn columnHoursOfOperationUTCOffset;
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public ScriptSchedulesDataTable() {
                this.TableName = "ScriptSchedules";
                this.BeginInit();
                this.InitClass();
                this.EndInit();
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            internal ScriptSchedulesDataTable(global::System.Data.DataTable table) {
                this.TableName = table.TableName;
                if ((table.CaseSensitive != table.DataSet.CaseSensitive)) {
                    this.CaseSensitive = table.CaseSensitive;
                }
                if ((table.Locale.ToString() != table.DataSet.Locale.ToString())) {
                    this.Locale = table.Locale;
                }
                if ((table.Namespace != table.DataSet.Namespace)) {
                    this.Namespace = table.Namespace;
                }
                this.Prefix = table.Prefix;
                this.MinimumCapacity = table.MinimumCapacity;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected ScriptSchedulesDataTable(global::System.Runtime.Serialization.SerializationInfo info, global::System.Runtime.Serialization.StreamingContext context) : 
                    base(info, context) {
                this.InitVars();
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn CustomerIDColumn {
                get {
                    return this.columnCustomerID;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn ScriptScheduleIDColumn {
                get {
                    return this.columnScriptScheduleID;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn ScriptLocationColumn {
                get {
                    return this.columnScriptLocation;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn PriorityColumn {
                get {
                    return this.columnPriority;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn HasHoursOfOperationColumn {
                get {
                    return this.columnHasHoursOfOperation;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn HoursOfOperationColumn {
                get {
                    return this.columnHoursOfOperation;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn NameColumn {
                get {
                    return this.columnName;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn EnabledColumn {
                get {
                    return this.columnEnabled;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataColumn HoursOfOperationUTCOffsetColumn {
                get {
                    return this.columnHoursOfOperationUTCOffset;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            [global::System.ComponentModel.Browsable(false)]
            public int Count {
                get {
                    return this.Rows.Count;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public ScriptSchedulesRow this[int index] {
                get {
                    return ((ScriptSchedulesRow)(this.Rows[index]));
                }
            }
            
            public event ScriptSchedulesRowChangeEventHandler ScriptSchedulesRowChanging;
            
            public event ScriptSchedulesRowChangeEventHandler ScriptSchedulesRowChanged;
            
            public event ScriptSchedulesRowChangeEventHandler ScriptSchedulesRowDeleting;
            
            public event ScriptSchedulesRowChangeEventHandler ScriptSchedulesRowDeleted;
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void AddScriptSchedulesRow(ScriptSchedulesRow row) {
                this.Rows.Add(row);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public ScriptSchedulesRow AddScriptSchedulesRow(int CustomerID, System.Guid ScriptScheduleID, string ScriptLocation, int Priority, bool HasHoursOfOperation, string HoursOfOperation, string Name, bool Enabled, System.TimeSpan HoursOfOperationUTCOffset) {
                ScriptSchedulesRow rowScriptSchedulesRow = ((ScriptSchedulesRow)(this.NewRow()));
                object[] columnValuesArray = new object[] {
                        CustomerID,
                        ScriptScheduleID,
                        ScriptLocation,
                        Priority,
                        HasHoursOfOperation,
                        HoursOfOperation,
                        Name,
                        Enabled,
                        HoursOfOperationUTCOffset};
                rowScriptSchedulesRow.ItemArray = columnValuesArray;
                this.Rows.Add(rowScriptSchedulesRow);
                return rowScriptSchedulesRow;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public ScriptSchedulesRow FindByScriptScheduleID(System.Guid ScriptScheduleID) {
                return ((ScriptSchedulesRow)(this.Rows.Find(new object[] {
                            ScriptScheduleID})));
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public virtual global::System.Collections.IEnumerator GetEnumerator() {
                return this.Rows.GetEnumerator();
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public override global::System.Data.DataTable Clone() {
                ScriptSchedulesDataTable cln = ((ScriptSchedulesDataTable)(base.Clone()));
                cln.InitVars();
                return cln;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override global::System.Data.DataTable CreateInstance() {
                return new ScriptSchedulesDataTable();
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            internal void InitVars() {
                this.columnCustomerID = base.Columns["CustomerID"];
                this.columnScriptScheduleID = base.Columns["ScriptScheduleID"];
                this.columnScriptLocation = base.Columns["ScriptLocation"];
                this.columnPriority = base.Columns["Priority"];
                this.columnHasHoursOfOperation = base.Columns["HasHoursOfOperation"];
                this.columnHoursOfOperation = base.Columns["HoursOfOperation"];
                this.columnName = base.Columns["Name"];
                this.columnEnabled = base.Columns["Enabled"];
                this.columnHoursOfOperationUTCOffset = base.Columns["HoursOfOperationUTCOffset"];
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            private void InitClass() {
                this.columnCustomerID = new global::System.Data.DataColumn("CustomerID", typeof(int), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnCustomerID);
                this.columnScriptScheduleID = new global::System.Data.DataColumn("ScriptScheduleID", typeof(global::System.Guid), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnScriptScheduleID);
                this.columnScriptLocation = new global::System.Data.DataColumn("ScriptLocation", typeof(string), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnScriptLocation);
                this.columnPriority = new global::System.Data.DataColumn("Priority", typeof(int), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnPriority);
                this.columnHasHoursOfOperation = new global::System.Data.DataColumn("HasHoursOfOperation", typeof(bool), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnHasHoursOfOperation);
                this.columnHoursOfOperation = new global::System.Data.DataColumn("HoursOfOperation", typeof(string), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnHoursOfOperation);
                this.columnName = new global::System.Data.DataColumn("Name", typeof(string), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnName);
                this.columnEnabled = new global::System.Data.DataColumn("Enabled", typeof(bool), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnEnabled);
                this.columnHoursOfOperationUTCOffset = new global::System.Data.DataColumn("HoursOfOperationUTCOffset", typeof(global::System.TimeSpan), null, global::System.Data.MappingType.Element);
                base.Columns.Add(this.columnHoursOfOperationUTCOffset);
                this.Constraints.Add(new global::System.Data.UniqueConstraint("Constraint1", new global::System.Data.DataColumn[] {
                                this.columnScriptScheduleID}, true));
                this.columnScriptScheduleID.AllowDBNull = false;
                this.columnScriptScheduleID.Unique = true;
                this.columnHasHoursOfOperation.DefaultValue = ((bool)(false));
                this.columnEnabled.DefaultValue = ((bool)(true));
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public ScriptSchedulesRow NewScriptSchedulesRow() {
                return ((ScriptSchedulesRow)(this.NewRow()));
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override global::System.Data.DataRow NewRowFromBuilder(global::System.Data.DataRowBuilder builder) {
                return new ScriptSchedulesRow(builder);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override global::System.Type GetRowType() {
                return typeof(ScriptSchedulesRow);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override void OnRowChanged(global::System.Data.DataRowChangeEventArgs e) {
                base.OnRowChanged(e);
                if ((this.ScriptSchedulesRowChanged != null)) {
                    this.ScriptSchedulesRowChanged(this, new ScriptSchedulesRowChangeEvent(((ScriptSchedulesRow)(e.Row)), e.Action));
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override void OnRowChanging(global::System.Data.DataRowChangeEventArgs e) {
                base.OnRowChanging(e);
                if ((this.ScriptSchedulesRowChanging != null)) {
                    this.ScriptSchedulesRowChanging(this, new ScriptSchedulesRowChangeEvent(((ScriptSchedulesRow)(e.Row)), e.Action));
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override void OnRowDeleted(global::System.Data.DataRowChangeEventArgs e) {
                base.OnRowDeleted(e);
                if ((this.ScriptSchedulesRowDeleted != null)) {
                    this.ScriptSchedulesRowDeleted(this, new ScriptSchedulesRowChangeEvent(((ScriptSchedulesRow)(e.Row)), e.Action));
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            protected override void OnRowDeleting(global::System.Data.DataRowChangeEventArgs e) {
                base.OnRowDeleting(e);
                if ((this.ScriptSchedulesRowDeleting != null)) {
                    this.ScriptSchedulesRowDeleting(this, new ScriptSchedulesRowChangeEvent(((ScriptSchedulesRow)(e.Row)), e.Action));
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void RemoveScriptSchedulesRow(ScriptSchedulesRow row) {
                this.Rows.Remove(row);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) {
                global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType();
                global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence();
                CallButlerDataset ds = new CallButlerDataset();
                global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny();
                any1.Namespace = "http://www.w3.org/2001/XMLSchema";
                any1.MinOccurs = new decimal(0);
                any1.MaxOccurs = decimal.MaxValue;
                any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
                sequence.Items.Add(any1);
                global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny();
                any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1";
                any2.MinOccurs = new decimal(1);
                any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
                sequence.Items.Add(any2);
                global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute();
                attribute1.Name = "namespace";
                attribute1.FixedValue = ds.Namespace;
                type.Attributes.Add(attribute1);
                global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute();
                attribute2.Name = "tableTypeName";
                attribute2.FixedValue = "ScriptSchedulesDataTable";
                type.Attributes.Add(attribute2);
                type.Particle = sequence;
                global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable();
                if (xs.Contains(dsSchema.TargetNamespace)) {
                    global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream();
                    global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream();
                    try {
                        global::System.Xml.Schema.XmlSchema schema = null;
                        dsSchema.Write(s1);
                        for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) {
                            schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current));
                            s2.SetLength(0);
                            schema.Write(s2);
                            if ((s1.Length == s2.Length)) {
                                s1.Position = 0;
                                s2.Position = 0;
                                for (; ((s1.Position != s1.Length) 
                                            && (s1.ReadByte() == s2.ReadByte())); ) {
                                    ;
                                }
                                if ((s1.Position == s1.Length)) {
                                    return type;
                                }
                            }
                        }
                    }
                    finally {
                        if ((s1 != null)) {
                            s1.Close();
                        }
                        if ((s2 != null)) {
                            s2.Close();
                        }
                    }
                }
                xs.Add(dsSchema);
                return type;
            }
        }
        
        /// <summary>
        ///Represents strongly named DataRow class.
        ///</summary>
        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
        public partial class GreetingsRow : global::System.Data.DataRow {
            
            private GreetingsDataTable tableGreetings;
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            internal GreetingsRow(global::System.Data.DataRowBuilder rb) : 
                    base(rb) {
                this.tableGreetings = ((GreetingsDataTable)(this.Table));
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public int CustomerID {
                get {
                    return ((int)(this[this.tableGreetings.CustomerIDColumn]));
                }
                set {
                    this[this.tableGreetings.CustomerIDColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public System.Guid GreetingID {
                get {
                    return ((global::System.Guid)(this[this.tableGreetings.GreetingIDColumn]));
                }
                set {
                    this[this.tableGreetings.GreetingIDColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public LocalizedGreetingsRow[] GetLocalizedGreetingsRows() {
                if ((this.Table.ChildRelations["FK_Greetings_LocalizedGreetings"] == null)) {
                    return new LocalizedGreetingsRow[0];
                }
                else {
                    return ((LocalizedGreetingsRow[])(base.GetChildRows(this.Table.ChildRelations["FK_Greetings_LocalizedGreetings"])));
                }
            }
        }
        
        /// <summary>
        ///Represents strongly named DataRow class.
        ///</summary>
        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
        public partial class LocalizedGreetingsRow : global::System.Data.DataRow {
            
            private LocalizedGreetingsDataTable tableLocalizedGreetings;
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            internal LocalizedGreetingsRow(global::System.Data.DataRowBuilder rb) : 
                    base(rb) {
                this.tableLocalizedGreetings = ((LocalizedGreetingsDataTable)(this.Table));
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public System.Guid GreetingID {
                get {
                    try {
                        return ((global::System.Guid)(this[this.tableLocalizedGreetings.GreetingIDColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'GreetingID\' in table \'LocalizedGreetings\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableLocalizedGreetings.GreetingIDColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public System.Guid LocalizedGreetingID {
                get {
                    return ((global::System.Guid)(this[this.tableLocalizedGreetings.LocalizedGreetingIDColumn]));
                }
                set {
                    this[this.tableLocalizedGreetings.LocalizedGreetingIDColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public string Data {
                get {
                    try {
                        return ((string)(this[this.tableLocalizedGreetings.DataColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'Data\' in table \'LocalizedGreetings\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableLocalizedGreetings.DataColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public string Voice {
                get {
                    try {
                        return ((string)(this[this.tableLocalizedGreetings.VoiceColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'Voice\' in table \'LocalizedGreetings\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableLocalizedGreetings.VoiceColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public string LanguageID {
                get {
                    try {
                        return ((string)(this[this.tableLocalizedGreetings.LanguageIDColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'LanguageID\' in table \'LocalizedGreetings\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableLocalizedGreetings.LanguageIDColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public short Type {
                get {
                    try {
                        return ((short)(this[this.tableLocalizedGreetings.TypeColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'Type\' in table \'LocalizedGreetings\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableLocalizedGreetings.TypeColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public GreetingsRow GreetingsRow {
                get {
                    return ((GreetingsRow)(this.GetParentRow(this.Table.ParentRelations["FK_Greetings_LocalizedGreetings"])));
                }
                set {
                    this.SetParentRow(value, this.Table.ParentRelations["FK_Greetings_LocalizedGreetings"]);
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsGreetingIDNull() {
                return this.IsNull(this.tableLocalizedGreetings.GreetingIDColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetGreetingIDNull() {
                this[this.tableLocalizedGreetings.GreetingIDColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsDataNull() {
                return this.IsNull(this.tableLocalizedGreetings.DataColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetDataNull() {
                this[this.tableLocalizedGreetings.DataColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsVoiceNull() {
                return this.IsNull(this.tableLocalizedGreetings.VoiceColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetVoiceNull() {
                this[this.tableLocalizedGreetings.VoiceColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsLanguageIDNull() {
                return this.IsNull(this.tableLocalizedGreetings.LanguageIDColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetLanguageIDNull() {
                this[this.tableLocalizedGreetings.LanguageIDColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsTypeNull() {
                return this.IsNull(this.tableLocalizedGreetings.TypeColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetTypeNull() {
                this[this.tableLocalizedGreetings.TypeColumn] = global::System.Convert.DBNull;
            }
        }
        
        /// <summary>
        ///Represents strongly named DataRow class.
        ///</summary>
        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
        public partial class CallHistoryRow : global::System.Data.DataRow {
            
            private CallHistoryDataTable tableCallHistory;
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            internal CallHistoryRow(global::System.Data.DataRowBuilder rb) : 
                    base(rb) {
                this.tableCallHistory = ((CallHistoryDataTable)(this.Table));
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public int CustomerID {
                get {
                    return ((int)(this[this.tableCallHistory.CustomerIDColumn]));
                }
                set {
                    this[this.tableCallHistory.CustomerIDColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public System.Guid CallID {
                get {
                    return ((global::System.Guid)(this[this.tableCallHistory.CallIDColumn]));
                }
                set {
                    this[this.tableCallHistory.CallIDColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public System.DateTime Timestamp {
                get {
                    try {
                        return ((global::System.DateTime)(this[this.tableCallHistory.TimestampColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'Timestamp\' in table \'CallHistory\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableCallHistory.TimestampColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public string CallerDisplayName {
                get {
                    try {
                        return ((string)(this[this.tableCallHistory.CallerDisplayNameColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'CallerDisplayName\' in table \'CallHistory\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableCallHistory.CallerDisplayNameColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public string CallerUsername {
                get {
                    try {
                        return ((string)(this[this.tableCallHistory.CallerUsernameColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'CallerUsername\' in table \'CallHistory\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableCallHistory.CallerUsernameColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public string CallerHost {
                get {
                    try {
                        return ((string)(this[this.tableCallHistory.CallerHostColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'CallerHost\' in table \'CallHistory\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableCallHistory.CallerHostColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public System.TimeSpan CallDuration {
                get {
                    try {
                        return ((global::System.TimeSpan)(this[this.tableCallHistory.CallDurationColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'CallDuration\' in table \'CallHistory\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableCallHistory.CallDurationColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsTimestampNull() {
                return this.IsNull(this.tableCallHistory.TimestampColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetTimestampNull() {
                this[this.tableCallHistory.TimestampColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsCallerDisplayNameNull() {
                return this.IsNull(this.tableCallHistory.CallerDisplayNameColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetCallerDisplayNameNull() {
                this[this.tableCallHistory.CallerDisplayNameColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsCallerUsernameNull() {
                return this.IsNull(this.tableCallHistory.CallerUsernameColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetCallerUsernameNull() {
                this[this.tableCallHistory.CallerUsernameColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsCallerHostNull() {
                return this.IsNull(this.tableCallHistory.CallerHostColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetCallerHostNull() {
                this[this.tableCallHistory.CallerHostColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsCallDurationNull() {
                return this.IsNull(this.tableCallHistory.CallDurationColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetCallDurationNull() {
                this[this.tableCallHistory.CallDurationColumn] = global::System.Convert.DBNull;
            }
        }
        
        /// <summary>
        ///Represents strongly named DataRow class.
        ///</summary>
        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
        public partial class DepartmentsRow : global::System.Data.DataRow {
            
            private DepartmentsDataTable tableDepartments;
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            internal DepartmentsRow(global::System.Data.DataRowBuilder rb) : 
                    base(rb) {
                this.tableDepartments = ((DepartmentsDataTable)(this.Table));
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public int CustomerID {
                get {
                    return ((int)(this[this.tableDepartments.CustomerIDColumn]));
                }
                set {
                    this[this.tableDepartments.CustomerIDColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public System.Guid DepartmentID {
                get {
                    return ((global::System.Guid)(this[this.tableDepartments.DepartmentIDColumn]));
                }
                set {
                    this[this.tableDepartments.DepartmentIDColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public string Name {
                get {
                    try {
                        return ((string)(this[this.tableDepartments.NameColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'Name\' in table \'Departments\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableDepartments.NameColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public short Type {
                get {
                    try {
                        return ((short)(this[this.tableDepartments.TypeColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'Type\' in table \'Departments\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableDepartments.TypeColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public string Data1 {
                get {
                    try {
                        return ((string)(this[this.tableDepartments.Data1Column]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'Data1\' in table \'Departments\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableDepartments.Data1Column] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public string Data2 {
                get {
                    try {
                        return ((string)(this[this.tableDepartments.Data2Column]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'Data2\' in table \'Departments\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableDepartments.Data2Column] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool Enabled {
                get {
                    try {
                        return ((bool)(this[this.tableDepartments.EnabledColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'Enabled\' in table \'Departments\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableDepartments.EnabledColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public int OptionNumber {
                get {
                    try {
                        return ((int)(this[this.tableDepartments.OptionNumberColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'OptionNumber\' in table \'Departments\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableDepartments.OptionNumberColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsNameNull() {
                return this.IsNull(this.tableDepartments.NameColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetNameNull() {
                this[this.tableDepartments.NameColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsTypeNull() {
                return this.IsNull(this.tableDepartments.TypeColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetTypeNull() {
                this[this.tableDepartments.TypeColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsData1Null() {
                return this.IsNull(this.tableDepartments.Data1Column);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetData1Null() {
                this[this.tableDepartments.Data1Column] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsData2Null() {
                return this.IsNull(this.tableDepartments.Data2Column);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetData2Null() {
                this[this.tableDepartments.Data2Column] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsEnabledNull() {
                return this.IsNull(this.tableDepartments.EnabledColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetEnabledNull() {
                this[this.tableDepartments.EnabledColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsOptionNumberNull() {
                return this.IsNull(this.tableDepartments.OptionNumberColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetOptionNumberNull() {
                this[this.tableDepartments.OptionNumberColumn] = global::System.Convert.DBNull;
            }
        }
        
        /// <summary>
        ///Represents strongly named DataRow class.
        ///</summary>
        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
        public partial class ExtensionsRow : global::System.Data.DataRow {
            
            private ExtensionsDataTable tableExtensions;
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            internal ExtensionsRow(global::System.Data.DataRowBuilder rb) : 
                    base(rb) {
                this.tableExtensions = ((ExtensionsDataTable)(this.Table));
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public int CustomerID {
                get {
                    return ((int)(this[this.tableExtensions.CustomerIDColumn]));
                }
                set {
                    this[this.tableExtensions.CustomerIDColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public System.Guid ExtensionID {
                get {
                    return ((global::System.Guid)(this[this.tableExtensions.ExtensionIDColumn]));
                }
                set {
                    this[this.tableExtensions.ExtensionIDColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public short ExtensionNumber {
                get {
                    return ((short)(this[this.tableExtensions.ExtensionNumberColumn]));
                }
                set {
                    this[this.tableExtensions.ExtensionNumberColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public string FirstName {
                get {
                    try {
                        return ((string)(this[this.tableExtensions.FirstNameColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'FirstName\' in table \'Extensions\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableExtensions.FirstNameColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public string LastName {
                get {
                    try {
                        return ((string)(this[this.tableExtensions.LastNameColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'LastName\' in table \'Extensions\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableExtensions.LastNameColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public string SearchNumber {
                get {
                    try {
                        return ((string)(this[this.tableExtensions.SearchNumberColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'SearchNumber\' in table \'Extensions\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableExtensions.SearchNumberColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool EnableSearch {
                get {
                    try {
                        return ((bool)(this[this.tableExtensions.EnableSearchColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'EnableSearch\' in table \'Extensions\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableExtensions.EnableSearchColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public string Password {
                get {
                    try {
                        return ((string)(this[this.tableExtensions.PasswordColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'Password\' in table \'Extensions\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableExtensions.PasswordColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool EnableManagement {
                get {
                    try {
                        return ((bool)(this[this.tableExtensions.EnableManagementColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'EnableManagement\' in table \'Extensions\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableExtensions.EnableManagementColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool DoNotDisturb {
                get {
                    try {
                        return ((bool)(this[this.tableExtensions.DoNotDisturbColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'DoNotDisturb\' in table \'Extensions\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableExtensions.DoNotDisturbColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool EmailNotification {
                get {
                    try {
                        return ((bool)(this[this.tableExtensions.EmailNotificationColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'EmailNotification\' in table \'Extensions\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableExtensions.EmailNotificationColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public string EmailAddress {
                get {
                    try {
                        return ((string)(this[this.tableExtensions.EmailAddressColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'EmailAddress\' in table \'Extensions\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableExtensions.EmailAddressColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool EmailAttachment {
                get {
                    try {
                        return ((bool)(this[this.tableExtensions.EmailAttachmentColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'EmailAttachment\' in table \'Extensions\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableExtensions.EmailAttachmentColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public System.Guid AlternativeExtensionID {
                get {
                    try {
                        return ((global::System.Guid)(this[this.tableExtensions.AlternativeExtensionIDColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'AlternativeExtensionID\' in table \'Extensions\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableExtensions.AlternativeExtensionIDColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool UseFindMePlugin {
                get {
                    try {
                        return ((bool)(this[this.tableExtensions.UseFindMePluginColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'UseFindMePlugin\' in table \'Extensions\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableExtensions.UseFindMePluginColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public string FindMePluginData {
                get {
                    try {
                        return ((string)(this[this.tableExtensions.FindMePluginDataColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'FindMePluginData\' in table \'Extensions\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableExtensions.FindMePluginDataColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsFirstNameNull() {
                return this.IsNull(this.tableExtensions.FirstNameColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetFirstNameNull() {
                this[this.tableExtensions.FirstNameColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsLastNameNull() {
                return this.IsNull(this.tableExtensions.LastNameColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetLastNameNull() {
                this[this.tableExtensions.LastNameColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsSearchNumberNull() {
                return this.IsNull(this.tableExtensions.SearchNumberColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetSearchNumberNull() {
                this[this.tableExtensions.SearchNumberColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsEnableSearchNull() {
                return this.IsNull(this.tableExtensions.EnableSearchColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetEnableSearchNull() {
                this[this.tableExtensions.EnableSearchColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsPasswordNull() {
                return this.IsNull(this.tableExtensions.PasswordColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetPasswordNull() {
                this[this.tableExtensions.PasswordColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsEnableManagementNull() {
                return this.IsNull(this.tableExtensions.EnableManagementColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetEnableManagementNull() {
                this[this.tableExtensions.EnableManagementColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsDoNotDisturbNull() {
                return this.IsNull(this.tableExtensions.DoNotDisturbColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetDoNotDisturbNull() {
                this[this.tableExtensions.DoNotDisturbColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsEmailNotificationNull() {
                return this.IsNull(this.tableExtensions.EmailNotificationColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetEmailNotificationNull() {
                this[this.tableExtensions.EmailNotificationColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsEmailAddressNull() {
                return this.IsNull(this.tableExtensions.EmailAddressColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetEmailAddressNull() {
                this[this.tableExtensions.EmailAddressColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsEmailAttachmentNull() {
                return this.IsNull(this.tableExtensions.EmailAttachmentColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetEmailAttachmentNull() {
                this[this.tableExtensions.EmailAttachmentColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsAlternativeExtensionIDNull() {
                return this.IsNull(this.tableExtensions.AlternativeExtensionIDColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetAlternativeExtensionIDNull() {
                this[this.tableExtensions.AlternativeExtensionIDColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsUseFindMePluginNull() {
                return this.IsNull(this.tableExtensions.UseFindMePluginColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetUseFindMePluginNull() {
                this[this.tableExtensions.UseFindMePluginColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsFindMePluginDataNull() {
                return this.IsNull(this.tableExtensions.FindMePluginDataColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetFindMePluginDataNull() {
                this[this.tableExtensions.FindMePluginDataColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public ExtensionContactNumbersRow[] GetExtensionContactNumbersRows() {
                if ((this.Table.ChildRelations["FK_Extensions_ExtensionContactNumbers"] == null)) {
                    return new ExtensionContactNumbersRow[0];
                }
                else {
                    return ((ExtensionContactNumbersRow[])(base.GetChildRows(this.Table.ChildRelations["FK_Extensions_ExtensionContactNumbers"])));
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public VoicemailsRow[] GetVoicemailsRows() {
                if ((this.Table.ChildRelations["FK_Extensions_Voicemails"] == null)) {
                    return new VoicemailsRow[0];
                }
                else {
                    return ((VoicemailsRow[])(base.GetChildRows(this.Table.ChildRelations["FK_Extensions_Voicemails"])));
                }
            }
        }
        
        /// <summary>
        ///Represents strongly named DataRow class.
        ///</summary>
        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
        public partial class ExtensionContactNumbersRow : global::System.Data.DataRow {
            
            private ExtensionContactNumbersDataTable tableExtensionContactNumbers;
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            internal ExtensionContactNumbersRow(global::System.Data.DataRowBuilder rb) : 
                    base(rb) {
                this.tableExtensionContactNumbers = ((ExtensionContactNumbersDataTable)(this.Table));
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public System.Guid ExtensionID {
                get {
                    return ((global::System.Guid)(this[this.tableExtensionContactNumbers.ExtensionIDColumn]));
                }
                set {
                    this[this.tableExtensionContactNumbers.ExtensionIDColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public System.Guid ExtensionContactNumberID {
                get {
                    return ((global::System.Guid)(this[this.tableExtensionContactNumbers.ExtensionContactNumberIDColumn]));
                }
                set {
                    this[this.tableExtensionContactNumbers.ExtensionContactNumberIDColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public string ContactNumber {
                get {
                    try {
                        return ((string)(this[this.tableExtensionContactNumbers.ContactNumberColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'ContactNumber\' in table \'ExtensionContactNumbers\' is DBNull" +
                                ".", e);
                    }
                }
                set {
                    this[this.tableExtensionContactNumbers.ContactNumberColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public short Priority {
                get {
                    try {
                        return ((short)(this[this.tableExtensionContactNumbers.PriorityColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'Priority\' in table \'ExtensionContactNumbers\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableExtensionContactNumbers.PriorityColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public string HoursOfOperation {
                get {
                    try {
                        return ((string)(this[this.tableExtensionContactNumbers.HoursOfOperationColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'HoursOfOperation\' in table \'ExtensionContactNumbers\' is DBN" +
                                "ull.", e);
                    }
                }
                set {
                    this[this.tableExtensionContactNumbers.HoursOfOperationColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public short Timeout {
                get {
                    try {
                        return ((short)(this[this.tableExtensionContactNumbers.TimeoutColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'Timeout\' in table \'ExtensionContactNumbers\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableExtensionContactNumbers.TimeoutColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool HasHoursOfOperation {
                get {
                    try {
                        return ((bool)(this[this.tableExtensionContactNumbers.HasHoursOfOperationColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'HasHoursOfOperation\' in table \'ExtensionContactNumbers\' is " +
                                "DBNull.", e);
                    }
                }
                set {
                    this[this.tableExtensionContactNumbers.HasHoursOfOperationColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool Online {
                get {
                    try {
                        return ((bool)(this[this.tableExtensionContactNumbers.OnlineColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'Online\' in table \'ExtensionContactNumbers\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableExtensionContactNumbers.OnlineColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public System.TimeSpan HoursOfOperationUTCOffset {
                get {
                    try {
                        return ((global::System.TimeSpan)(this[this.tableExtensionContactNumbers.HoursOfOperationUTCOffsetColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'HoursOfOperationUTCOffset\' in table \'ExtensionContactNumber" +
                                "s\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableExtensionContactNumbers.HoursOfOperationUTCOffsetColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public ExtensionsRow ExtensionsRow {
                get {
                    return ((ExtensionsRow)(this.GetParentRow(this.Table.ParentRelations["FK_Extensions_ExtensionContactNumbers"])));
                }
                set {
                    this.SetParentRow(value, this.Table.ParentRelations["FK_Extensions_ExtensionContactNumbers"]);
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsContactNumberNull() {
                return this.IsNull(this.tableExtensionContactNumbers.ContactNumberColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetContactNumberNull() {
                this[this.tableExtensionContactNumbers.ContactNumberColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsPriorityNull() {
                return this.IsNull(this.tableExtensionContactNumbers.PriorityColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetPriorityNull() {
                this[this.tableExtensionContactNumbers.PriorityColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsHoursOfOperationNull() {
                return this.IsNull(this.tableExtensionContactNumbers.HoursOfOperationColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetHoursOfOperationNull() {
                this[this.tableExtensionContactNumbers.HoursOfOperationColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsTimeoutNull() {
                return this.IsNull(this.tableExtensionContactNumbers.TimeoutColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetTimeoutNull() {
                this[this.tableExtensionContactNumbers.TimeoutColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsHasHoursOfOperationNull() {
                return this.IsNull(this.tableExtensionContactNumbers.HasHoursOfOperationColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetHasHoursOfOperationNull() {
                this[this.tableExtensionContactNumbers.HasHoursOfOperationColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsOnlineNull() {
                return this.IsNull(this.tableExtensionContactNumbers.OnlineColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetOnlineNull() {
                this[this.tableExtensionContactNumbers.OnlineColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsHoursOfOperationUTCOffsetNull() {
                return this.IsNull(this.tableExtensionContactNumbers.HoursOfOperationUTCOffsetColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetHoursOfOperationUTCOffsetNull() {
                this[this.tableExtensionContactNumbers.HoursOfOperationUTCOffsetColumn] = global::System.Convert.DBNull;
            }
        }
        
        /// <summary>
        ///Represents strongly named DataRow class.
        ///</summary>
        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
        public partial class VoicemailsRow : global::System.Data.DataRow {
            
            private VoicemailsDataTable tableVoicemails;
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            internal VoicemailsRow(global::System.Data.DataRowBuilder rb) : 
                    base(rb) {
                this.tableVoicemails = ((VoicemailsDataTable)(this.Table));
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public System.Guid VoicemailID {
                get {
                    return ((global::System.Guid)(this[this.tableVoicemails.VoicemailIDColumn]));
                }
                set {
                    this[this.tableVoicemails.VoicemailIDColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public System.Guid ExtensionID {
                get {
                    return ((global::System.Guid)(this[this.tableVoicemails.ExtensionIDColumn]));
                }
                set {
                    this[this.tableVoicemails.ExtensionIDColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public System.DateTime Timestamp {
                get {
                    try {
                        return ((global::System.DateTime)(this[this.tableVoicemails.TimestampColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'Timestamp\' in table \'Voicemails\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableVoicemails.TimestampColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public string CallerDisplayName {
                get {
                    try {
                        return ((string)(this[this.tableVoicemails.CallerDisplayNameColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'CallerDisplayName\' in table \'Voicemails\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableVoicemails.CallerDisplayNameColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public string CallerUsername {
                get {
                    try {
                        return ((string)(this[this.tableVoicemails.CallerUsernameColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'CallerUsername\' in table \'Voicemails\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableVoicemails.CallerUsernameColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public string CallerHost {
                get {
                    try {
                        return ((string)(this[this.tableVoicemails.CallerHostColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'CallerHost\' in table \'Voicemails\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableVoicemails.CallerHostColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsNew {
                get {
                    try {
                        return ((bool)(this[this.tableVoicemails.IsNewColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'IsNew\' in table \'Voicemails\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableVoicemails.IsNewColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public ExtensionsRow ExtensionsRow {
                get {
                    return ((ExtensionsRow)(this.GetParentRow(this.Table.ParentRelations["FK_Extensions_Voicemails"])));
                }
                set {
                    this.SetParentRow(value, this.Table.ParentRelations["FK_Extensions_Voicemails"]);
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsTimestampNull() {
                return this.IsNull(this.tableVoicemails.TimestampColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetTimestampNull() {
                this[this.tableVoicemails.TimestampColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsCallerDisplayNameNull() {
                return this.IsNull(this.tableVoicemails.CallerDisplayNameColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetCallerDisplayNameNull() {
                this[this.tableVoicemails.CallerDisplayNameColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsCallerUsernameNull() {
                return this.IsNull(this.tableVoicemails.CallerUsernameColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetCallerUsernameNull() {
                this[this.tableVoicemails.CallerUsernameColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsCallerHostNull() {
                return this.IsNull(this.tableVoicemails.CallerHostColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetCallerHostNull() {
                this[this.tableVoicemails.CallerHostColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsIsNewNull() {
                return this.IsNull(this.tableVoicemails.IsNewColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetIsNewNull() {
                this[this.tableVoicemails.IsNewColumn] = global::System.Convert.DBNull;
            }
        }
        
        /// <summary>
        ///Represents strongly named DataRow class.
        ///</summary>
        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
        public partial class PersonalizedGreetingsRow : global::System.Data.DataRow {
            
            private PersonalizedGreetingsDataTable tablePersonalizedGreetings;
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            internal PersonalizedGreetingsRow(global::System.Data.DataRowBuilder rb) : 
                    base(rb) {
                this.tablePersonalizedGreetings = ((PersonalizedGreetingsDataTable)(this.Table));
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public int CustomerID {
                get {
                    try {
                        return ((int)(this[this.tablePersonalizedGreetings.CustomerIDColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'CustomerID\' in table \'PersonalizedGreetings\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tablePersonalizedGreetings.CustomerIDColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public System.Guid PersonalizedGreetingID {
                get {
                    return ((global::System.Guid)(this[this.tablePersonalizedGreetings.PersonalizedGreetingIDColumn]));
                }
                set {
                    this[this.tablePersonalizedGreetings.PersonalizedGreetingIDColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public string CallerDisplayName {
                get {
                    try {
                        return ((string)(this[this.tablePersonalizedGreetings.CallerDisplayNameColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'CallerDisplayName\' in table \'PersonalizedGreetings\' is DBNu" +
                                "ll.", e);
                    }
                }
                set {
                    this[this.tablePersonalizedGreetings.CallerDisplayNameColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public string CallerUsername {
                get {
                    try {
                        return ((string)(this[this.tablePersonalizedGreetings.CallerUsernameColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'CallerUsername\' in table \'PersonalizedGreetings\' is DBNull." +
                                "", e);
                    }
                }
                set {
                    this[this.tablePersonalizedGreetings.CallerUsernameColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public string CallerHost {
                get {
                    try {
                        return ((string)(this[this.tablePersonalizedGreetings.CallerHostColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'CallerHost\' in table \'PersonalizedGreetings\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tablePersonalizedGreetings.CallerHostColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public string DialedUsername {
                get {
                    try {
                        return ((string)(this[this.tablePersonalizedGreetings.DialedUsernameColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'DialedUsername\' in table \'PersonalizedGreetings\' is DBNull." +
                                "", e);
                    }
                }
                set {
                    this[this.tablePersonalizedGreetings.DialedUsernameColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public string DialedHost {
                get {
                    try {
                        return ((string)(this[this.tablePersonalizedGreetings.DialedHostColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'DialedHost\' in table \'PersonalizedGreetings\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tablePersonalizedGreetings.DialedHostColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool UseRegex {
                get {
                    try {
                        return ((bool)(this[this.tablePersonalizedGreetings.UseRegexColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'UseRegex\' in table \'PersonalizedGreetings\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tablePersonalizedGreetings.UseRegexColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public short Type {
                get {
                    try {
                        return ((short)(this[this.tablePersonalizedGreetings.TypeColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'Type\' in table \'PersonalizedGreetings\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tablePersonalizedGreetings.TypeColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public string Data {
                get {
                    try {
                        return ((string)(this[this.tablePersonalizedGreetings.DataColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'Data\' in table \'PersonalizedGreetings\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tablePersonalizedGreetings.DataColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool PlayOnce {
                get {
                    try {
                        return ((bool)(this[this.tablePersonalizedGreetings.PlayOnceColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'PlayOnce\' in table \'PersonalizedGreetings\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tablePersonalizedGreetings.PlayOnceColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool HasPlayed {
                get {
                    try {
                        return ((bool)(this[this.tablePersonalizedGreetings.HasPlayedColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'HasPlayed\' in table \'PersonalizedGreetings\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tablePersonalizedGreetings.HasPlayedColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public string Notes {
                get {
                    try {
                        return ((string)(this[this.tablePersonalizedGreetings.NotesColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'Notes\' in table \'PersonalizedGreetings\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tablePersonalizedGreetings.NotesColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsCustomerIDNull() {
                return this.IsNull(this.tablePersonalizedGreetings.CustomerIDColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetCustomerIDNull() {
                this[this.tablePersonalizedGreetings.CustomerIDColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsCallerDisplayNameNull() {
                return this.IsNull(this.tablePersonalizedGreetings.CallerDisplayNameColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetCallerDisplayNameNull() {
                this[this.tablePersonalizedGreetings.CallerDisplayNameColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsCallerUsernameNull() {
                return this.IsNull(this.tablePersonalizedGreetings.CallerUsernameColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetCallerUsernameNull() {
                this[this.tablePersonalizedGreetings.CallerUsernameColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsCallerHostNull() {
                return this.IsNull(this.tablePersonalizedGreetings.CallerHostColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetCallerHostNull() {
                this[this.tablePersonalizedGreetings.CallerHostColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsDialedUsernameNull() {
                return this.IsNull(this.tablePersonalizedGreetings.DialedUsernameColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetDialedUsernameNull() {
                this[this.tablePersonalizedGreetings.DialedUsernameColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsDialedHostNull() {
                return this.IsNull(this.tablePersonalizedGreetings.DialedHostColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetDialedHostNull() {
                this[this.tablePersonalizedGreetings.DialedHostColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsUseRegexNull() {
                return this.IsNull(this.tablePersonalizedGreetings.UseRegexColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetUseRegexNull() {
                this[this.tablePersonalizedGreetings.UseRegexColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsTypeNull() {
                return this.IsNull(this.tablePersonalizedGreetings.TypeColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetTypeNull() {
                this[this.tablePersonalizedGreetings.TypeColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsDataNull() {
                return this.IsNull(this.tablePersonalizedGreetings.DataColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetDataNull() {
                this[this.tablePersonalizedGreetings.DataColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsPlayOnceNull() {
                return this.IsNull(this.tablePersonalizedGreetings.PlayOnceColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetPlayOnceNull() {
                this[this.tablePersonalizedGreetings.PlayOnceColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsHasPlayedNull() {
                return this.IsNull(this.tablePersonalizedGreetings.HasPlayedColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetHasPlayedNull() {
                this[this.tablePersonalizedGreetings.HasPlayedColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsNotesNull() {
                return this.IsNull(this.tablePersonalizedGreetings.NotesColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetNotesNull() {
                this[this.tablePersonalizedGreetings.NotesColumn] = global::System.Convert.DBNull;
            }
        }
        
        /// <summary>
        ///Represents strongly named DataRow class.
        ///</summary>
        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
        public partial class ProvidersRow : global::System.Data.DataRow {
            
            private ProvidersDataTable tableProviders;
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            internal ProvidersRow(global::System.Data.DataRowBuilder rb) : 
                    base(rb) {
                this.tableProviders = ((ProvidersDataTable)(this.Table));
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public int CustomerID {
                get {
                    try {
                        return ((int)(this[this.tableProviders.CustomerIDColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'CustomerID\' in table \'Providers\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableProviders.CustomerIDColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public System.Guid ProviderID {
                get {
                    return ((global::System.Guid)(this[this.tableProviders.ProviderIDColumn]));
                }
                set {
                    this[this.tableProviders.ProviderIDColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public string Name {
                get {
                    try {
                        return ((string)(this[this.tableProviders.NameColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'Name\' in table \'Providers\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableProviders.NameColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public string DisplayName {
                get {
                    try {
                        return ((string)(this[this.tableProviders.DisplayNameColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'DisplayName\' in table \'Providers\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableProviders.DisplayNameColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public string Username {
                get {
                    try {
                        return ((string)(this[this.tableProviders.UsernameColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'Username\' in table \'Providers\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableProviders.UsernameColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public string AuthUsername {
                get {
                    try {
                        return ((string)(this[this.tableProviders.AuthUsernameColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'AuthUsername\' in table \'Providers\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableProviders.AuthUsernameColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public string AuthPassword {
                get {
                    try {
                        return ((string)(this[this.tableProviders.AuthPasswordColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'AuthPassword\' in table \'Providers\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableProviders.AuthPasswordColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public string Domain {
                get {
                    try {
                        return ((string)(this[this.tableProviders.DomainColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'Domain\' in table \'Providers\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableProviders.DomainColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public string SIPProxy {
                get {
                    try {
                        return ((string)(this[this.tableProviders.SIPProxyColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'SIPProxy\' in table \'Providers\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableProviders.SIPProxyColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public string SIPRegistrar {
                get {
                    try {
                        return ((string)(this[this.tableProviders.SIPRegistrarColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'SIPRegistrar\' in table \'Providers\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableProviders.SIPRegistrarColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public int Expires {
                get {
                    try {
                        return ((int)(this[this.tableProviders.ExpiresColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'Expires\' in table \'Providers\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableProviders.ExpiresColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsEnabled {
                get {
                    try {
                        return ((bool)(this[this.tableProviders.IsEnabledColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'IsEnabled\' in table \'Providers\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableProviders.IsEnabledColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public string Status {
                get {
                    try {
                        return ((string)(this[this.tableProviders.StatusColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'Status\' in table \'Providers\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableProviders.StatusColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsDefault {
                get {
                    try {
                        return ((bool)(this[this.tableProviders.IsDefaultColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'IsDefault\' in table \'Providers\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableProviders.IsDefaultColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool EnableRegistration {
                get {
                    try {
                        return ((bool)(this[this.tableProviders.EnableRegistrationColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'EnableRegistration\' in table \'Providers\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableProviders.EnableRegistrationColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public string ExtraData {
                get {
                    try {
                        return ((string)(this[this.tableProviders.ExtraDataColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'ExtraData\' in table \'Providers\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableProviders.ExtraDataColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public string PluginID {
                get {
                    try {
                        return ((string)(this[this.tableProviders.PluginIDColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'PluginID\' in table \'Providers\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableProviders.PluginIDColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsCustomerIDNull() {
                return this.IsNull(this.tableProviders.CustomerIDColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetCustomerIDNull() {
                this[this.tableProviders.CustomerIDColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsNameNull() {
                return this.IsNull(this.tableProviders.NameColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetNameNull() {
                this[this.tableProviders.NameColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsDisplayNameNull() {
                return this.IsNull(this.tableProviders.DisplayNameColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetDisplayNameNull() {
                this[this.tableProviders.DisplayNameColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsUsernameNull() {
                return this.IsNull(this.tableProviders.UsernameColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetUsernameNull() {
                this[this.tableProviders.UsernameColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsAuthUsernameNull() {
                return this.IsNull(this.tableProviders.AuthUsernameColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetAuthUsernameNull() {
                this[this.tableProviders.AuthUsernameColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsAuthPasswordNull() {
                return this.IsNull(this.tableProviders.AuthPasswordColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetAuthPasswordNull() {
                this[this.tableProviders.AuthPasswordColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsDomainNull() {
                return this.IsNull(this.tableProviders.DomainColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetDomainNull() {
                this[this.tableProviders.DomainColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsSIPProxyNull() {
                return this.IsNull(this.tableProviders.SIPProxyColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetSIPProxyNull() {
                this[this.tableProviders.SIPProxyColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsSIPRegistrarNull() {
                return this.IsNull(this.tableProviders.SIPRegistrarColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetSIPRegistrarNull() {
                this[this.tableProviders.SIPRegistrarColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsExpiresNull() {
                return this.IsNull(this.tableProviders.ExpiresColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetExpiresNull() {
                this[this.tableProviders.ExpiresColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsIsEnabledNull() {
                return this.IsNull(this.tableProviders.IsEnabledColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetIsEnabledNull() {
                this[this.tableProviders.IsEnabledColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsStatusNull() {
                return this.IsNull(this.tableProviders.StatusColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetStatusNull() {
                this[this.tableProviders.StatusColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsIsDefaultNull() {
                return this.IsNull(this.tableProviders.IsDefaultColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetIsDefaultNull() {
                this[this.tableProviders.IsDefaultColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsEnableRegistrationNull() {
                return this.IsNull(this.tableProviders.EnableRegistrationColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetEnableRegistrationNull() {
                this[this.tableProviders.EnableRegistrationColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsExtraDataNull() {
                return this.IsNull(this.tableProviders.ExtraDataColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetExtraDataNull() {
                this[this.tableProviders.ExtraDataColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsPluginIDNull() {
                return this.IsNull(this.tableProviders.PluginIDColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetPluginIDNull() {
                this[this.tableProviders.PluginIDColumn] = global::System.Convert.DBNull;
            }
        }
        
        /// <summary>
        ///Represents strongly named DataRow class.
        ///</summary>
        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
        public partial class ScriptSchedulesRow : global::System.Data.DataRow {
            
            private ScriptSchedulesDataTable tableScriptSchedules;
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            internal ScriptSchedulesRow(global::System.Data.DataRowBuilder rb) : 
                    base(rb) {
                this.tableScriptSchedules = ((ScriptSchedulesDataTable)(this.Table));
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public int CustomerID {
                get {
                    try {
                        return ((int)(this[this.tableScriptSchedules.CustomerIDColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'CustomerID\' in table \'ScriptSchedules\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableScriptSchedules.CustomerIDColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public System.Guid ScriptScheduleID {
                get {
                    return ((global::System.Guid)(this[this.tableScriptSchedules.ScriptScheduleIDColumn]));
                }
                set {
                    this[this.tableScriptSchedules.ScriptScheduleIDColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public string ScriptLocation {
                get {
                    try {
                        return ((string)(this[this.tableScriptSchedules.ScriptLocationColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'ScriptLocation\' in table \'ScriptSchedules\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableScriptSchedules.ScriptLocationColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public int Priority {
                get {
                    try {
                        return ((int)(this[this.tableScriptSchedules.PriorityColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'Priority\' in table \'ScriptSchedules\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableScriptSchedules.PriorityColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool HasHoursOfOperation {
                get {
                    try {
                        return ((bool)(this[this.tableScriptSchedules.HasHoursOfOperationColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'HasHoursOfOperation\' in table \'ScriptSchedules\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableScriptSchedules.HasHoursOfOperationColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public string HoursOfOperation {
                get {
                    try {
                        return ((string)(this[this.tableScriptSchedules.HoursOfOperationColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'HoursOfOperation\' in table \'ScriptSchedules\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableScriptSchedules.HoursOfOperationColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public string Name {
                get {
                    try {
                        return ((string)(this[this.tableScriptSchedules.NameColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'Name\' in table \'ScriptSchedules\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableScriptSchedules.NameColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool Enabled {
                get {
                    try {
                        return ((bool)(this[this.tableScriptSchedules.EnabledColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'Enabled\' in table \'ScriptSchedules\' is DBNull.", e);
                    }
                }
                set {
                    this[this.tableScriptSchedules.EnabledColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public System.TimeSpan HoursOfOperationUTCOffset {
                get {
                    try {
                        return ((global::System.TimeSpan)(this[this.tableScriptSchedules.HoursOfOperationUTCOffsetColumn]));
                    }
                    catch (global::System.InvalidCastException e) {
                        throw new global::System.Data.StrongTypingException("The value for column \'HoursOfOperationUTCOffset\' in table \'ScriptSchedules\' is DB" +
                                "Null.", e);
                    }
                }
                set {
                    this[this.tableScriptSchedules.HoursOfOperationUTCOffsetColumn] = value;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsCustomerIDNull() {
                return this.IsNull(this.tableScriptSchedules.CustomerIDColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetCustomerIDNull() {
                this[this.tableScriptSchedules.CustomerIDColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsScriptLocationNull() {
                return this.IsNull(this.tableScriptSchedules.ScriptLocationColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetScriptLocationNull() {
                this[this.tableScriptSchedules.ScriptLocationColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsPriorityNull() {
                return this.IsNull(this.tableScriptSchedules.PriorityColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetPriorityNull() {
                this[this.tableScriptSchedules.PriorityColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsHasHoursOfOperationNull() {
                return this.IsNull(this.tableScriptSchedules.HasHoursOfOperationColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetHasHoursOfOperationNull() {
                this[this.tableScriptSchedules.HasHoursOfOperationColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsHoursOfOperationNull() {
                return this.IsNull(this.tableScriptSchedules.HoursOfOperationColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetHoursOfOperationNull() {
                this[this.tableScriptSchedules.HoursOfOperationColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsNameNull() {
                return this.IsNull(this.tableScriptSchedules.NameColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetNameNull() {
                this[this.tableScriptSchedules.NameColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsEnabledNull() {
                return this.IsNull(this.tableScriptSchedules.EnabledColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetEnabledNull() {
                this[this.tableScriptSchedules.EnabledColumn] = global::System.Convert.DBNull;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public bool IsHoursOfOperationUTCOffsetNull() {
                return this.IsNull(this.tableScriptSchedules.HoursOfOperationUTCOffsetColumn);
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public void SetHoursOfOperationUTCOffsetNull() {
                this[this.tableScriptSchedules.HoursOfOperationUTCOffsetColumn] = global::System.Convert.DBNull;
            }
        }
        
        /// <summary>
        ///Row event argument class
        ///</summary>
        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
        public class GreetingsRowChangeEvent : global::System.EventArgs {
            
            private GreetingsRow eventRow;
            
            private global::System.Data.DataRowAction eventAction;
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public GreetingsRowChangeEvent(GreetingsRow row, global::System.Data.DataRowAction action) {
                this.eventRow = row;
                this.eventAction = action;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public GreetingsRow Row {
                get {
                    return this.eventRow;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataRowAction Action {
                get {
                    return this.eventAction;
                }
            }
        }
        
        /// <summary>
        ///Row event argument class
        ///</summary>
        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
        public class LocalizedGreetingsRowChangeEvent : global::System.EventArgs {
            
            private LocalizedGreetingsRow eventRow;
            
            private global::System.Data.DataRowAction eventAction;
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public LocalizedGreetingsRowChangeEvent(LocalizedGreetingsRow row, global::System.Data.DataRowAction action) {
                this.eventRow = row;
                this.eventAction = action;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public LocalizedGreetingsRow Row {
                get {
                    return this.eventRow;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataRowAction Action {
                get {
                    return this.eventAction;
                }
            }
        }
        
        /// <summary>
        ///Row event argument class
        ///</summary>
        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
        public class CallHistoryRowChangeEvent : global::System.EventArgs {
            
            private CallHistoryRow eventRow;
            
            private global::System.Data.DataRowAction eventAction;
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public CallHistoryRowChangeEvent(CallHistoryRow row, global::System.Data.DataRowAction action) {
                this.eventRow = row;
                this.eventAction = action;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public CallHistoryRow Row {
                get {
                    return this.eventRow;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataRowAction Action {
                get {
                    return this.eventAction;
                }
            }
        }
        
        /// <summary>
        ///Row event argument class
        ///</summary>
        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
        public class DepartmentsRowChangeEvent : global::System.EventArgs {
            
            private DepartmentsRow eventRow;
            
            private global::System.Data.DataRowAction eventAction;
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public DepartmentsRowChangeEvent(DepartmentsRow row, global::System.Data.DataRowAction action) {
                this.eventRow = row;
                this.eventAction = action;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public DepartmentsRow Row {
                get {
                    return this.eventRow;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataRowAction Action {
                get {
                    return this.eventAction;
                }
            }
        }
        
        /// <summary>
        ///Row event argument class
        ///</summary>
        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
        public class ExtensionsRowChangeEvent : global::System.EventArgs {
            
            private ExtensionsRow eventRow;
            
            private global::System.Data.DataRowAction eventAction;
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public ExtensionsRowChangeEvent(ExtensionsRow row, global::System.Data.DataRowAction action) {
                this.eventRow = row;
                this.eventAction = action;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public ExtensionsRow Row {
                get {
                    return this.eventRow;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataRowAction Action {
                get {
                    return this.eventAction;
                }
            }
        }
        
        /// <summary>
        ///Row event argument class
        ///</summary>
        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
        public class ExtensionContactNumbersRowChangeEvent : global::System.EventArgs {
            
            private ExtensionContactNumbersRow eventRow;
            
            private global::System.Data.DataRowAction eventAction;
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public ExtensionContactNumbersRowChangeEvent(ExtensionContactNumbersRow row, global::System.Data.DataRowAction action) {
                this.eventRow = row;
                this.eventAction = action;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public ExtensionContactNumbersRow Row {
                get {
                    return this.eventRow;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataRowAction Action {
                get {
                    return this.eventAction;
                }
            }
        }
        
        /// <summary>
        ///Row event argument class
        ///</summary>
        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
        public class VoicemailsRowChangeEvent : global::System.EventArgs {
            
            private VoicemailsRow eventRow;
            
            private global::System.Data.DataRowAction eventAction;
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public VoicemailsRowChangeEvent(VoicemailsRow row, global::System.Data.DataRowAction action) {
                this.eventRow = row;
                this.eventAction = action;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public VoicemailsRow Row {
                get {
                    return this.eventRow;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataRowAction Action {
                get {
                    return this.eventAction;
                }
            }
        }
        
        /// <summary>
        ///Row event argument class
        ///</summary>
        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
        public class PersonalizedGreetingsRowChangeEvent : global::System.EventArgs {
            
            private PersonalizedGreetingsRow eventRow;
            
            private global::System.Data.DataRowAction eventAction;
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public PersonalizedGreetingsRowChangeEvent(PersonalizedGreetingsRow row, global::System.Data.DataRowAction action) {
                this.eventRow = row;
                this.eventAction = action;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public PersonalizedGreetingsRow Row {
                get {
                    return this.eventRow;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataRowAction Action {
                get {
                    return this.eventAction;
                }
            }
        }
        
        /// <summary>
        ///Row event argument class
        ///</summary>
        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
        public class ProvidersRowChangeEvent : global::System.EventArgs {
            
            private ProvidersRow eventRow;
            
            private global::System.Data.DataRowAction eventAction;
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public ProvidersRowChangeEvent(ProvidersRow row, global::System.Data.DataRowAction action) {
                this.eventRow = row;
                this.eventAction = action;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public ProvidersRow Row {
                get {
                    return this.eventRow;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataRowAction Action {
                get {
                    return this.eventAction;
                }
            }
        }
        
        /// <summary>
        ///Row event argument class
        ///</summary>
        [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0")]
        public class ScriptSchedulesRowChangeEvent : global::System.EventArgs {
            
            private ScriptSchedulesRow eventRow;
            
            private global::System.Data.DataRowAction eventAction;
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public ScriptSchedulesRowChangeEvent(ScriptSchedulesRow row, global::System.Data.DataRowAction action) {
                this.eventRow = row;
                this.eventAction = action;
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public ScriptSchedulesRow Row {
                get {
                    return this.eventRow;
                }
            }
            
            [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
            public global::System.Data.DataRowAction Action {
                get {
                    return this.eventAction;
                }
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void SendEmailCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void SendTestEmailCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void GetTTSVoicesCompletedEventHandler(object sender, GetTTSVoicesCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetTTSVoicesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetTTSVoicesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public string[] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((string[])(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void GetMultilingualCompletedEventHandler(object sender, GetMultilingualCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetMultilingualCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetMultilingualCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public bool Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((bool)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void SetMultilingualCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void GetDefaultLanguageCompletedEventHandler(object sender, GetDefaultLanguageCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetDefaultLanguageCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetDefaultLanguageCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public string Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((string)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void SetDefaultLanguageCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void GetLanguagesCompletedEventHandler(object sender, GetLanguagesCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetLanguagesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetLanguagesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public string Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((string)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void SetLanguagesCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void GetApplicationPermissionsCompletedEventHandler(object sender, GetApplicationPermissionsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetApplicationPermissionsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetApplicationPermissionsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public string Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((string)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void SetManagementPasswordCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void GetManagementPasswordCompletedEventHandler(object sender, GetManagementPasswordCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetManagementPasswordCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetManagementPasswordCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public string Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((string)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void GetFirstTimeRunCompletedEventHandler(object sender, GetFirstTimeRunCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetFirstTimeRunCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetFirstTimeRunCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public bool Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((bool)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void SetFirstTimeRunCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void GetAudioCodecsCompletedEventHandler(object sender, GetAudioCodecsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetAudioCodecsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetAudioCodecsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public AudioCodecInformation[] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((AudioCodecInformation[])(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void SetAudioCodecsCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void ClearCallHistoryCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void GetCallHistoryCompletedEventHandler(object sender, GetCallHistoryCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetCallHistoryCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetCallHistoryCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public CallButlerDataset.CallHistoryDataTable Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((CallButlerDataset.CallHistoryDataTable)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void GetRecentCallsCompletedEventHandler(object sender, GetRecentCallsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetRecentCallsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetRecentCallsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public CallButlerDataset.CallHistoryDataTable Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((CallButlerDataset.CallHistoryDataTable)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void GetExtensionCompletedEventHandler(object sender, GetExtensionCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetExtensionCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetExtensionCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public CallButlerDataset.ExtensionsDataTable Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((CallButlerDataset.ExtensionsDataTable)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void GetExtensionNumberCompletedEventHandler(object sender, GetExtensionNumberCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetExtensionNumberCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetExtensionNumberCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public CallButlerDataset.ExtensionsDataTable Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((CallButlerDataset.ExtensionsDataTable)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void GetExtensionsCompletedEventHandler(object sender, GetExtensionsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetExtensionsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetExtensionsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public CallButlerDataset.ExtensionsDataTable Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((CallButlerDataset.ExtensionsDataTable)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void GetExtensionVoicemailGreetingCompletedEventHandler(object sender, GetExtensionVoicemailGreetingCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetExtensionVoicemailGreetingCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetExtensionVoicemailGreetingCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public CallButlerDataset.LocalizedGreetingsDataTable Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((CallButlerDataset.LocalizedGreetingsDataTable)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void GetExtensionContactNumbersCompletedEventHandler(object sender, GetExtensionContactNumbersCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetExtensionContactNumbersCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetExtensionContactNumbersCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public CallButlerDataset.ExtensionContactNumbersDataTable Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((CallButlerDataset.ExtensionContactNumbersDataTable)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void PersistExtensionContactNumbersCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void PersistExtensionCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void DeleteExtensionCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void DeleteExtensionContactNumberCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void GetVoicemailsCompletedEventHandler(object sender, GetVoicemailsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetVoicemailsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetVoicemailsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public CallButlerDataset.VoicemailsDataTable Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((CallButlerDataset.VoicemailsDataTable)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void GetVoicemails1CompletedEventHandler(object sender, GetVoicemails1CompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetVoicemails1CompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetVoicemails1CompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public CallButlerDataset.VoicemailsDataTable Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((CallButlerDataset.VoicemailsDataTable)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void PersistVoicemailCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void PersistVoicemailSoundCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void DeleteVoicemailCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void GetVoicemailSoundCompletedEventHandler(object sender, GetVoicemailSoundCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetVoicemailSoundCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetVoicemailSoundCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public byte[] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((byte[])(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void GetDepartmentsCompletedEventHandler(object sender, GetDepartmentsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetDepartmentsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetDepartmentsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public CallButlerDataset.DepartmentsDataTable Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((CallButlerDataset.DepartmentsDataTable)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void PersistDepartmentCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void DeleteDepartmentCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void GetEmployeeExtensionCompletedEventHandler(object sender, GetEmployeeExtensionCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetEmployeeExtensionCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetEmployeeExtensionCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public CallButlerDataset.ExtensionsDataTable Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((CallButlerDataset.ExtensionsDataTable)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void DoesEmployeeHaveNewVoicemailsCompletedEventHandler(object sender, DoesEmployeeHaveNewVoicemailsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class DoesEmployeeHaveNewVoicemailsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal DoesEmployeeHaveNewVoicemailsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public bool Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((bool)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void GetNewEmployeeVoicemailsCompletedEventHandler(object sender, GetNewEmployeeVoicemailsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetNewEmployeeVoicemailsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetNewEmployeeVoicemailsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public CallButlerDataset.VoicemailsDataTable Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((CallButlerDataset.VoicemailsDataTable)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void GetLocalizedGreetingCompletedEventHandler(object sender, GetLocalizedGreetingCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetLocalizedGreetingCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetLocalizedGreetingCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public CallButlerDataset.LocalizedGreetingsDataTable Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((CallButlerDataset.LocalizedGreetingsDataTable)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void GetLocalizedGreeting1CompletedEventHandler(object sender, GetLocalizedGreeting1CompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetLocalizedGreeting1CompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetLocalizedGreeting1CompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public CallButlerDataset.LocalizedGreetingsDataTable Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((CallButlerDataset.LocalizedGreetingsDataTable)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void GetLocalizedGreetingInDefaultLanguageCompletedEventHandler(object sender, GetLocalizedGreetingInDefaultLanguageCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetLocalizedGreetingInDefaultLanguageCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetLocalizedGreetingInDefaultLanguageCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public CallButlerDataset.LocalizedGreetingsDataTable Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((CallButlerDataset.LocalizedGreetingsDataTable)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void PersistLocalizedGreetingCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void DeleteGreetingCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void GetLocalizedGreetingSoundCompletedEventHandler(object sender, GetLocalizedGreetingSoundCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetLocalizedGreetingSoundCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetLocalizedGreetingSoundCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public byte[] Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((byte[])(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void PersistLocalizedGreetingSoundCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void GetPersonalizedGreetingsCompletedEventHandler(object sender, GetPersonalizedGreetingsCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetPersonalizedGreetingsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetPersonalizedGreetingsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public CallButlerDataset.PersonalizedGreetingsDataTable Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((CallButlerDataset.PersonalizedGreetingsDataTable)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void PersistPersonalizedGreetingCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void DeletePersonalizedGreetingCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void GetProvidersCompletedEventHandler(object sender, GetProvidersCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetProvidersCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetProvidersCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public CallButlerDataset.ProvidersDataTable Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((CallButlerDataset.ProvidersDataTable)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void PersistProvidersCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void DeleteProviderCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void GetScriptSchedulesCompletedEventHandler(object sender, GetScriptSchedulesCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetScriptSchedulesCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetScriptSchedulesCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public CallButlerDataset.ScriptSchedulesDataTable Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((CallButlerDataset.ScriptSchedulesDataTable)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void PersistScriptScheduleCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void DeleteScriptScheduleCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void GetCustomerLoginCompletedEventHandler(object sender, GetCustomerLoginCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetCustomerLoginCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetCustomerLoginCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public int Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((int)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void GetRecordVolumeCompletedEventHandler(object sender, GetRecordVolumeCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetRecordVolumeCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetRecordVolumeCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public byte Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((byte)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void SetRecordVolumeCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void GetSoundVolumeCompletedEventHandler(object sender, GetSoundVolumeCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetSoundVolumeCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetSoundVolumeCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public byte Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((byte)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void SetSoundVolumeCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void GetSpeechVolumeCompletedEventHandler(object sender, GetSpeechVolumeCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetSpeechVolumeCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetSpeechVolumeCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public byte Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((byte)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void SetSpeechVolumeCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void GetDefaultVoiceCompletedEventHandler(object sender, GetDefaultVoiceCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetDefaultVoiceCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetDefaultVoiceCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public string Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((string)(this.results[0]));
            }
        }
    }
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void SetDefaultVoiceCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    public delegate void GetHostedTestAddressCompletedEventHandler(object sender, GetHostedTestAddressCompletedEventArgs e);
    
    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Web.Services", "2.0.50727.1434")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetHostedTestAddressCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs {
        
        private object[] results;
        
        internal GetHostedTestAddressCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState) : 
                base(exception, cancelled, userState) {
            this.results = results;
        }
        
        /// <remarks/>
        public string Result {
            get {
                this.RaiseExceptionIfNecessary();
                return ((string)(this.results[0]));
            }
        }
    }
}

#pragma warning restore 1591